session - 在 golang 中将 map、struct 设置为 session (gin gonic 框架)

标签 session dictionary go go-gin

我正在使用 gin gonic 构建网络应用程序。我用 https://github.com/gin-gonic/contrib/tree/master/sessions处理 session 。例如,我为 session 设置了一个整数值:

function Test(c *gin.Context){
  session:= sessions.Default(c)
  session.Set("mysession",123)
  session.Save()
}

在另一个 Controller 中,我可以通过 session.Get("mysession") 获取这个 session 。

但是如果我设置 map 或 struct。我只能在同一个 Controller 中获取 session 。这里有什么问题吗??

最佳答案

你可能忘了注册它,当你的应用程序启动时你需要有类似的东西:

package main

import (
    "encoding/gob"
    "path/to/yourpackage"

func init() {
    gob.Register(&yourpackage.YourStruct{})
}

你可以看这里http://www.gorillatoolkit.org/pkg/sessions了解更多信息(gin-gonic 在后台使用 gorilla session )

关于session - 在 golang 中将 map、struct 设置为 session (gin gonic 框架),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38562141/

相关文章:

python - 高效访问任意深度的字典

vim - 使用 syntastic 的 vim 下的 quickfix 窗口

java - 用于 Spring Security 和/或 Spring BlazeDS Integration 的 session 管理(和终止)的集中式系统

mysql - 6 节点 galera 集群冲突证书失败

php - 从 sql 数据库设置 session id 变量;这安全吗?

php - 在 Node 和 PHP 之间与 Redis 共享 session

javascript - 谷歌地图基于缩放级别的距离

python - 将有序字典列表转换为具有多个值的嵌套列表

mongodb - 如何从 MongoDb 查询中编写 go bson.M

go - 了解golang中的继承与组合