adi*_*dis 6 session-cookies playframework-2.0
什么是Play的最佳方法!应用程序记住用户?我认为唯一可行的解决方案是使用客户端cookie,对吧?但是一旦浏览器关闭,此会话就会被销毁,对下一个请求无效?你怎么解决(d)这个?
至于现在,我userid在会话(每个会话)中加密,如下所示:
session("userid", user.id);
Run Code Online (Sandbox Code Playgroud)
然后我使用拦截器来避免每当我需要它时传递参数,如下所述:如何避免在play2中传递参数?
但是,如何记住用户,甚至是在下次请求时自动登录用户?
编辑:2016-03-11 请注意,某些浏览器可能会将会话cookie存储更长时间.例如,您可以在Chrome中设置以记住下次访问时打开的标签页.这意味着下次打开浏览器时将恢复Play Session cookie.
从Play 2.4开始,会话cookie maxAge(你需要在其中设置application.conf)被重命名为:play.http.session.maxAge
小智 5
要在用户关闭浏览器时使会话没有超时,您可以使用session.maxAgeapplication.conf中的参数.
例如:
# Set session maximum age in seconds (4w)
session.maxAge=2419200
Run Code Online (Sandbox Code Playgroud)
如果您不强制newSession或用户不删除 cookie,用户仍应登录。
您的浏览器可能被设置为在关闭时删除 cookie,或者您正遭受外部副作用的影响。但我可以确认关闭浏览器后 cookie 仍然存在于我的开发环境中(Chrome 和 Firefox)。
| 归档时间: |
|
| 查看次数: |
2992 次 |
| 最近记录: |