求教,用"github.com/gin-contrib/sessions" 插件,只是一个简直的在session里存个键值对,但是在另一个方法里读这个键,却得不到值

weixin_38053499 2019-09-20 09:39:05

var store = sessions.NewCookieStore([]byte("secret"))
...
...
router.Use(sessions.Sessions("gosession", store))
{
router.GET("login", (&controllers.OauthController{}).LoginByAuth)
router.GET("auth", (&controllers.OauthController{}).AuthorizationCodeMethod)
}

上面是初始化session的代码, 我作用于两个方法,在`LoginByAuth` 中是

state := randToken()

session := sessions.Default(c)
session.Set("state", state)
session.Save()

就做了个存state 的操作。然后在`AuthorizationCodeMethod`中

session := sessions.Default(c)
retrievedState := session.Get("state")

但是显示为空。我把两个函数中的session都有打印出来。session的结构是这样的,


type session struct {
name string
request *http.Request
store Store
session *sessions.Session
written bool
writer http.ResponseWriter
}

结果发现



而`session.Set("state", state)`的操作就是把state存入到sessions.Session里面有一个Values的`map[string]interface{}`,但是如图显示,两次得到的sessions.Session是不一样的。我真不知道怎么办了,我就是用`sessions.Default(c)`基本方法去做这个实现的。请问有没有大神知道是怎么回事呢?
...全文
46 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧