【问题标题】:Logout link screwed up when using cookies in Go在 Go 中使用 cookie 时注销链接搞砸了
【发布时间】:2022-02-01 21:17:49
【问题描述】:

作为刚开始做一些 Web 的后端开发人员,我正在为 cookie 和链接而苦苦挣扎。我正在用 Go 实现基本的身份验证系统。登录时,在服务器端设置一个 cookie,然后在注销时将其 MaxAge 设置为 -1(同样在服务器端)。

东西在本地运行,所有的cookies都设置为根路径/

登录:

cookie := http.Cookie{
    Name:     name,
    Value:    value,
    Domain:   "localhost",
    Path:     "/"
}

退出:

cookie := http.Cookie{
    Name:     name,
    Value:    value,
    Domain:   "localhost",
    Path:     "/",
    MaxAge:   -1,
}

此外,注销处理程序在完成后会重定向到 root。

流程如下:

  • 登录成功
  • 注销成功
  • 再次登录成功
  • 注销将我发送到根目录而不是注销页面(普通链接用于注销)。它什么都不做(不清除会话和其他所有内容)所以我仍然登录

你知道为什么会这样吗?

【问题讨论】:

  • 请输入一些你试过的代码?
  • 编辑问题以显示注销处理程序的代码。
  • 域 cookie 和 localhost 经常是个问题,而且很少明智。
  • 对不起,信不信由你,这是一个错字。我错误地使用了 301 重定向(而不是 pf 307)。所以第一次注销路由重定向到root,状态为301,每次下次点击注销链接都会自动定向到root(永久移动)。

标签: go cookies


【解决方案1】:

对不起,信不信由你,这是一个错字。我错误地使用了 301 重定向(而不是 pf 307)。因此,第一次注销路由重定向到具有 301 状态的 root,每次下次单击注销链接都会自动定向到 root(永久移动)。 ——

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-02
    • 1970-01-01
    • 2010-11-21
    • 2011-08-17
    • 2010-09-05
    • 1970-01-01
    相关资源
    最近更新 更多