Beego:如何在会话超时时重定向到其他页面
Beego: How to redirect to other page on session time out
我正在通过使用
设置超时来处理会话变量
globalSessions, _ = session.NewManager("memory", `{"cookieName":"gosessionid", "enableSetCookie,omitempty": true, "gclifetime":5, "maxLifetime": 5, "secure": false, "sessionIDHashFunc": "sha1", "sessionIDHashKey": "", "cookieLifeTime": 3600, "providerConfig": ""}`)
go globalSessions.GC()
sess, _ := globalSessions.SessionStart(c.Ctx.ResponseWriter, c.Ctx.Request)
defer sess.SessionRelease(c.Ctx.ResponseWriter)
errU := sess.Set("user1", c.Input().Get("userName"))
if errU != nil {
fmt.Println("error in settng value")
}
现在如何从当前页面重定向回特定页面。
我在beego
有这个应用
beego 有方法 Prepare()
可以做到这一点,see doc
准备()
您可以使用此功能进行扩展,它将在下面的方法之前执行。可以覆盖实现用户验证等功能
代码
type MainController struct {
beego.Controller
}
func (c *MainController) Prepare() {
if timeOut {
c.Redirect("login.html", 302)
}
}
func (c *MainController) Index() {
c.TplNames = "index.tpl"
}
我正在通过使用
设置超时来处理会话变量globalSessions, _ = session.NewManager("memory", `{"cookieName":"gosessionid", "enableSetCookie,omitempty": true, "gclifetime":5, "maxLifetime": 5, "secure": false, "sessionIDHashFunc": "sha1", "sessionIDHashKey": "", "cookieLifeTime": 3600, "providerConfig": ""}`)
go globalSessions.GC()
sess, _ := globalSessions.SessionStart(c.Ctx.ResponseWriter, c.Ctx.Request)
defer sess.SessionRelease(c.Ctx.ResponseWriter)
errU := sess.Set("user1", c.Input().Get("userName"))
if errU != nil {
fmt.Println("error in settng value")
}
现在如何从当前页面重定向回特定页面。 我在beego
有这个应用beego 有方法 Prepare()
可以做到这一点,see doc
准备()
您可以使用此功能进行扩展,它将在下面的方法之前执行。可以覆盖实现用户验证等功能
代码
type MainController struct {
beego.Controller
}
func (c *MainController) Prepare() {
if timeOut {
c.Redirect("login.html", 302)
}
}
func (c *MainController) Index() {
c.TplNames = "index.tpl"
}