如何解决无法删除Gorilla /会话包中的会话
我是ngIf
的新手。我想创建一个用户可以登录和注销的系统。用户注销后,我要删除与该用户有关的会话。经过多次搜索,我发现我可以做到:
session.Options.MaxAge = -1
但是此代码仅删除用户系统上的cookie。如果我一遍又一遍地使用相同的Cookie调用Golang
,则与该Cookie相关的会话具有相同的值。
/logout
如果我每次使用相同的cookie多次致电func main() {
echoRouter := echo.New()
echoRouter.POST("/login",login)
echoRouter.POST("/logout",logout)
echoRouter.Start(":8000")
}
func login(c echo.Context) error {
user := c.FormValue("user")
pass := c.FormValue("pass")
if user == "mgh" && pass == "123" {
session,_ := store.Get(c.Request(),"sessionID")
session.Values["adminLevel"] = 3
err := session.Save(c.Request(),c.Response())
if err != nil {
return c.JSON(http.StatusInternalServerError,map[string]string{
"response": "We have run into a problem!",})
}
return c.JSON(http.StatusOK,map[string]string{
"response": "Welcome!",})
}
return c.JSON(http.StatusUnauthorized,map[string]string{
"response": "Your credentials isn't correct!",})
}
func logout(c echo.Context) error {
session,er := store.Get(c.Request(),"sessionID")
if er != nil {
return c.JSON(400,map[string]string{
"Response": "Bad Request",})
}
adlvl,_ := session.Values["adminLevel"]
fmt.Printf("Your adminlevel is %v",adlvl)
session.Options.MaxAge = -1
session.Save(c.Request(),c.Response().Writer)
return c.JSON(201,map[string]string{
"Response": "You Were Logged out",})
}
时,每次收到以下消息:
您的管理员级别为3
我希望当我两次致电/logout
时,第二次收到以下消息:
管理员级别为零
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。