Java Play2 - 从会话到cookie

时间:2012-08-07 13:25:33

标签: java session authentication cookies playframework-2.0

UPDATE1:

您能否举一个关于如何在play2中管理cookie和会话的简短示例? (记住我的功能)

好的,我想我理解游戏认证背后的主要概念。

Zentasks使用会话。我知道会话只存储在服务器上。 play2中的会话已经签名。饼干不是。

即使关闭浏览器,用户还想登录该怎么办?

我需要使用cookie。

我该怎么办?

我是否创建了一个创建会话的cookie?

例如

  • 用户拥有有效的Cookie
  • 获取cookie val并创建新会话

或者我是否完全丢弃会话并仅使用cookie。因为cookie不是由play2自动签名的,所以我必须自己做,我做了。

response().setCookie("remember",Crypto.sign(rnd) + "-" + obj.getClass().getName() + "-" + rnd,12000);

(我知道我还没有使用安全和仅http标志使其安全)

我只是不想发明一个新的有缺陷的系统。我希望你能为我解决如何在play2中保证身份验证的安全性。

2 个答案:

答案 0 :(得分:3)

Play中的session scope只不过是签名(安全)Cookie(它们存储在客户端,不是服务器端!)

来自上述文档:

  

了解会话和Flash数据不是非常重要   存储在服务器中但添加到每个后续HTTP请求中,   使用Cookies。

因此,您可以通过检查logged in是否存在并与您的任何用户匹配来保持session scope's key状态。

事实上会话范围不会自动失效,因此您的用户将logged in,直到他点击logout操作链接(其中)你只需要破坏会话的密钥)(仅在某些浏览器中)

答案 1 :(得分:0)