无法删除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 (将#修改为@)