引入依赖
go get github.com/gin-contrib/sessions
注入
var router = gin.Default()
store := cookie.NewStore([]byte("password")) //将存储的数据加密后保存在用户的浏览器,这是加密的密钥
store.Options(sessions.Options{ //这一步非必须
Path: "/",
MaxAge: 86400 * 30,
Secure: false, //默认为为true在非https时cookies无法自动设置到浏览器
})
router.Use(sessions.Sessions("sessionid", store)) //sessionid是cookie的名称
使用
router.GET("/get", func(c *gin.Context) {
session := sessions.Default(c)
logged, ok := session.Get("logged").(bool) //传入的key和返回值都是interface{}
})
router.GET("/set", func(c *gin.Context) {
session := sessions.Default(c)
session.Set("username", "xxxx")
session.Set("sex", "man")
session.Save() //set之后要save保存一下
})