【发布时间】:2017-08-04 23:40:33
【问题描述】:
我正在使用gorilla/sessions 进行会话处理。以下是我的会话代码:
var STORE = sessions.NewCookieStore([]byte("some_secret_text"))
session, err := STORE.Get(c.Request, "user")
if err != nil {
fmt.Println("Error: ",err)
}
if session.IsNew {
session.Options.MaxAge = 10 * 60
}
我只想在用户空闲 10 分钟时注销用户。 当前用户即使在工作也会被注销。
【问题讨论】:
-
“工作”对您的应用程序意味着什么。 Gorilla/Sessions 似乎没有提供任何开箱即用的功能。如果您要保持登录状态的用户在过去 5 分钟内发送了请求,也许您可以重新创建一个 cookie,更新其到期日期...
-
工作意味着用户正在使用网络应用程序。如果他正在执行任何活动(例如访问菜单或与浏览器请求相关的任何后端进程),那么他不应退出系统。
-
好吧,要么增加 10 分钟的过期超时,要么实现一个系统来检测用户活动并根据它更新 cookie 过期日期。
-
好的.. 谢谢!