【问题标题】:Beego: How to redirect to other page on session time outBeego:如何在会话超时时重定向到其他页面
【发布时间】:2015-08-17 15:08:48
【问题描述】:

我正在通过使用设置超时来处理会话变量

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中有这个应用程序

【问题讨论】:

  • @任何人都可以为此发表建议...请

标签: session go session-cookies session-timeout beego


【解决方案1】:

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"
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-12
    • 2012-09-12
    • 2016-11-12
    相关资源
    最近更新 更多