我有一个非常奇怪的问题。我正在重用一段在以前的项目中功能齐全但现在失败的代码。代码执行类似这样的操作(代码简化为最小失败方案):
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始终相同(因此会话本身不会丢失)。
我确信有一些配置我已经坏了,但是我无法找到哪一个。有人知道吗?
答案 0 :(得分:3)
在其中一个“在发送问题时找到答案”的情况中,我发现了这个问题。这是拧紧过程的背景:
# application.defaultCookieDomain=.xxxxx.com
因为我在localhost中没有检索到cookie,所以在Play中会话值存储在cookie中,因为Play是无状态的。
是的,是时候睡觉了......