1

我正在为我的 Web 应用程序使用Echo 。我试图实现登录和注销。当我尝试注销时,它没有清除会话。这是我的代码:

func Logout(c echo.Context) error {
    sess, _ := session.Get("session", c)
    sess.Options = &sessions.Options{
        Path:     "/",
        MaxAge:   -1,
        HttpOnly: true,
    }
    sess.Values["username"] = ""
    sess.Values["authenticated"] = ""
    sess.Save(c.Request(), c.Response())
    return c.Redirect(http.StatusSeeOther, "/")
}

注销后我检查了会话值,它没有改变或清除任何东西。我正在使用这些包进行会话管理:

"github.com/labstack/echo-contrib/session"
"github.com/gorilla/sessions"
4

1 回答 1

-1

问题出在客户端。当 cookie 的域是 localhost 时,浏览器会在重定向响应中忽略 Set-Cookie。所以我必须使用 127.0.0.1 而不是 localhost。

于 2018-01-03T03:39:00.150 回答