session 操作
// 设置 session
this.SetSession("key", value)
// 获取 session
value := this.GetSession("key")
// 清空 session ,清空后 key 对应的 session value 是 nil
this.DelSession("key")
Session 存储在服务器端
Cookie 存储在浏览器端
开启session 判断用户是否登录成功
beego 默认把session数据存在内存中。临时存储数据,如果浏览器关闭,session数据失效
开启session
在conf目录下
app.conf
sessionon = true
存储session
HandleLogin() 控制器里面
增加一行
// 设置session 记住用户登录状态
this.SetSession("Name", Name)
判断是否登录
在登录后才能访问的页面做判断
示例
文章列表页面
// 判断用户是否登录
Name := this.GetSession("Name")
if Name == nil {
this.Redirect("/login", 302)
return
}
退出登录功能
配置路由
beego.Router("/logout", &controllers.LoginController{}, "get:Logout")
配置退出功能控制器
User.go
// 退出系统 get
func (this *LoginController) Logout() {
this.DelSession("Name")
this.Redirect("/login", 302)
}
html页面
index.html
<div class="header">
<a href="#/logout" class="logo fl"><img src="/static/img/logo.png" alt="logo"></a>
<a href="/logout" class="logout fr">退 出</a>
</div>