Administrator
Administrator
发布于 2025-07-17 / 9 阅读
0
0

gin+session

引入依赖

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保存一下
	})


评论