站点图标 星露谷值班站长

在Gin框架使用session

要想在 Gin 框架中使用 session,可以使用官方开源项目

https://github.com/gin-contrib/sessions

安装

go get github.com/gin-contrib/sessions

代码集成,这里使用 redis 作为存储后端

import (
	"github.com/gin-contrib/sessions"
	"github.com/gin-contrib/sessions/redis"
	"github.com/gin-gonic/gin"
)
func main() {store, _ := redis.NewStoreWithDB(10, "tcp", "redis-db:6379", "密码", "RedisDB 库", []byte("密钥"))
	r.Use(sessions.Sessions("session", store))

}

sessions.Sessions(“session”, store) session 为浏览器中存储的名字

gin 中设置和获取 session

       session := sessions.Default(c)
	v := session.Get("uuid")
	if v == nil {u4 := uuid.New()
		session.Set("uuid", u4.String())
		session.Save()
		global.GL_LOG.Debugf("GinUUIDGen-set:%s", u4)
		return nil, u4.String()} else {global.GL_LOG.Debugf("GinUUIDGen:%s", v)
		return nil, v.(string)
	}

可以根据逻辑来为用户设置标识,这里我使用随机 uuid 来判断用户。设置后可以在 redis 里面看到 session 信息

退出移动版