在Play 1.2.2中请求之间丢失会话

时间:2011-07-07 21:55:02

标签: session playframework

我有一个非常奇怪的问题。我正在重用一段在以前的项目中功能齐全但现在失败的代码。代码执行类似这样的操作(代码简化为最小失败方案):

 if (OpenID.isAuthenticationResponse()) {
    UserInfo verifiedUser = OpenID.getVerifiedID();
    String value = session.get(AppKeys.AUTH_METHOD); << ERROR
    Application.index();
 } else {
    OpenID openid = getOpenId(client);
    session.put(AppKeys.AUTH_METHOD, value);
    if (!openid.verify()) { 
        Application.index();
    }
 }

以前我可以检索标记为ERROR的行中的值。现在该行将value设置为null。我做了一些测试,不知何故,会话值在请求期间丢失了,尽管会话ID始终相同(因此会话本身不会丢失)。

我确信有一些配置我已经坏了,但是我无法找到哪一个。有人知道吗?

1 个答案:

答案 0 :(得分:3)

在其中一个“在发送问题时找到答案”的情况中,我发现了这个问题。这是拧紧过程的背景:

# application.defaultCookieDomain=.xxxxx.com

因为我在localhost中没有检索到cookie,所以在Play中会话值存储在cookie中,因为Play是无状态的。

是的,是时候睡觉了......