gpt4 book ai didi

session - golang martini session.Set 不设置任何值

转载 作者:数据小太阳 更新时间:2023-10-29 03:16:34 25 4
gpt4 key购买 nike

这没有太多背景,因为它确实是一种应该起作用的情况,但它却不起作用。

我正在使用马提尼框架。在一个处理程序中,我正在使用这个:

session.Set("deployed", "true")
r.Redirect("/myOtherURL", http.StatusSeeOther)

其中“session”是传递给处理程序的 sessions.Session 对象。在加载 myOtherURL 的处理程序中,我正在使用 session.Get 但没有返回任何内容。我打印了所有 session 内容,但“已部署”不存在。

是什么导致了这个问题?我可能会错过什么?如果可以的话,我会提供更多背景信息,但实际上就是这么简单。

最佳答案

只是为了扩展我的评论/将来帮助其他人:

  • 如果您设置的 cookie 没有显式 Path 值,则 cookie 会采用当前路径。
  • Cookie 仅针对该路径和下方的路径发送 - 而不是上方 - 例如

    1. 当您第一次通过 session.Set(val, key)
    2. 隐式设置时,为 /modules 设置 Cookie
    3. Cookie /modules/modules/all/modules/detail/12 发送的/li>
    4. Cookie NOT 发送给 /about/

这可以通过显式设置路径来解决:

var store = sessions.NewCookieStore([]byte("secret123"))

func main() {
store.Options.Path = "/"
...
}

请注意,您可能不想为所有路由发送 cookie(这是 / 将执行的操作)——因此请自行判断。

关于session - golang martini session.Set 不设置任何值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32476956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com