我有一个非常基本的Wicket应用,正在尝试将其部署到GAE。在遵循步骤here并在创建后绑定会话对象之后,我的工作原理也已经开始。
我在保存会话中的任何状态时遇到问题。我的会话类扩展了AuthenticatedWebSession。登录页面通过AuthenticatedWebSession.authenticate()进行身份验证,该页面始终返回true,并将用户名设置为成员变量。但是随后的页面在会话中看到空用户名,AuthenticatedWebSession.isSignedIn()返回false。
我似乎确实正在维护一个会话,因为每个页面的Session.getId()都会看到相同的值。
有任何想法吗?
TIA!
克里斯
最佳答案
Wicket邮件列表上回答了我的问题-答案是,我需要在验证后(或在对会话成员进行任何其他更改之后)调用Session.dirty()以确保将其保存。显然,在我的开发环境中,会话始终被保存,但是GAE进行了优化,因此仅保存了脏会话。