1 Star 0 Fork 0

虎不拉/waomao

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
func_session.go 1.60 KB
一键复制 编辑 原始数据 按行查看 历史
虎不拉 提交于 2022-12-29 14:31 +08:00 . V0.0.1.5 增加前后端登录功能
package common
import (
"encoding/json"
"fmt"
"gitee.com/hubula/waomao/conf"
"gitee.com/hubula/waomao/web/viewsmodels"
"github.com/kataras/iris/v12"
)
// LoginSessionSet 用户登录 session 填充
func LoginSessionSet(c iris.Context, sessionname string, sessionvalue *viewsmodels.AdminSession) {
sess := conf.Sess.Start(c)
//结构体序列化为json,为存入 Session做准备
str2, err := json.Marshal(sessionvalue)
if err != nil {
fmt.Println("session序列化为json失败:" + err.Error())
return
}
//用户名
sess.Set(sessionname, string(str2))
//登录状态
sess.Set("ISLOGIN", true)
//格式化显示
//buff,_ := json.MarshalIndent(sessionvalue,""," ")
//fmt.Println("str => ?", string(buff))
}
// LoginSessionGet 获取
func LoginSessionGet(c iris.Context, sessionname string) (bool, *viewsmodels.AdminSession, error) {
sess := conf.Sess.Start(c)
login, err := sess.GetBoolean("ISLOGIN")
//获取值为SESSION_NAME 的session,并转换为字符串型
user := sess.GetString(sessionname)
//fmt.Println("session获取打印:",usern)
if err != nil {
return false, nil, fmt.Errorf("session 不存在")
}
if err == nil && user == "" {
return false, nil, fmt.Errorf("session 为空")
}
//初始化
stu := &viewsmodels.AdminSession{}
//字符串 转换为 session 结构体并赋值
err = json.Unmarshal([]byte(user), &stu)
if err != nil {
return false, nil, fmt.Errorf("session 序列号转换错误" + err.Error())
}
return login, stu, nil
}
// SessionDel 删除
func SessionDel(c iris.Context, sessionname string) {
sess := conf.Sess.Start(c)
sess.Delete(sessionname)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/hubula/waomao.git
git@gitee.com:hubula/waomao.git
hubula
waomao
waomao
a72f675cdb8e

搜索帮助