3

i am handling session variable by setting time out using

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

now how to redirect back to specific page on time out of the current page. I have this application in beego

thwd
  • 23,956
  • 8
  • 74
  • 108
Vijay Kumar
  • 597
  • 2
  • 8
  • 27

1 Answers1

1

beego has method Prepare() to do this , see doc

Prepare()

You can use this function for extension, it will execute before the methods below. You can overwrite it to implement functions such as user validation.

code

type MainController struct {
    beego.Controller
}

func (c *MainController) Prepare() { 
    if timeOut {
        c.Redirect("login.html", 302)
    }
}

func (c *MainController) Index() {
    c.TplNames = "index.tpl"
}
ysqi
  • 86
  • 7