UPDATE1:
您能否举一个关于如何在play2中管理cookie和会话的简短示例? (记住我的功能)
好的,我想我理解游戏认证背后的主要概念。
Zentasks使用会话。我知道会话只存储在服务器上。 play2中的会话已经签名。饼干不是。
即使关闭浏览器,用户还想登录该怎么办?
我需要使用cookie。
我该怎么办?
我是否创建了一个创建会话的cookie?
例如
或者我是否完全丢弃会话并仅使用cookie。因为cookie不是由play2自动签名的,所以我必须自己做,我做了。
response().setCookie("remember",Crypto.sign(rnd) + "-" + obj.getClass().getName() + "-" + rnd,12000);
(我知道我还没有使用安全和仅http标志使其安全)
我只是不想发明一个新的有缺陷的系统。我希望你能为我解决如何在play2中保证身份验证的安全性。
答案 0 :(得分:3)
Play中的session scope只不过是签名(安全)Cookie(它们存储在客户端,不是服务器端!)
来自上述文档:
了解会话和Flash数据不是非常重要 存储在服务器中但添加到每个后续HTTP请求中, 使用Cookies。
因此,您可以通过检查logged in
是否存在并与您的任何用户匹配来保持session scope's key
状态。
事实上会话范围不会自动失效,因此您的用户将(仅在某些浏览器中)logged in
,直到他点击logout
操作链接(其中)你只需要破坏会话的密钥)
答案 1 :(得分:0)