gin框架学习-session

session用来记录当前登录状态:

导入包文件:

go get github.com/gin-contrib/sessions
package tool

import (
	"fmt"
	"github.com/gin-contrib/sessions"
	"github.com/gin-contrib/sessions/redis"
	"github.com/gin-gonic/gin"
)

//初始化sesson
func InitSession(engine *gin.Engine)  {
	config := GetConfig().RedisConfig
	store, err := redis.NewStore(10,"tcp",config.Addr+":"+config.Port,config.Password,[]byte("secret"))
	if err != nil {
		fmt.Println(err.Error())
	}
	engine.Use(sessions.Sessions("mysession",store))
}

//设置session
func Setsess(context *gin.Context ,key interface{}, value interface{}) error {
	fmt.Println("保存session:",key,",",value)
	session := sessions.Default(context)
	if session == nil {
		return nil
	}
	session.Set(key, value)
	return session.Save()
}

//获取session
func Getsess(context *gin.Context ,key interface{}) interface{} {
	fmt.Println("获取session:",key)
	session := sessions.Default(context)
	return session.Get(key)
}

猜你喜欢

转载自blog.csdn.net/Batac_Lee/article/details/109626661