如何使用Wicket在会话中存储用户数据?

时间:2012-07-28 17:37:35

标签: session authentication wicket

我正在使用“Wicket in Action”一书学习Wicket。

我做了什么(安全跳过)

我想创建这样的工作流程:

  • 用户首次打开页面 - 打印出“用户未登录”
  • 用户进入登录页面
  • 用户登录(成功)
  • 用户被重定向到主页 - 打印出有关用户的信息

这一切都在书中描述,理论上看起来还不错。有一个用户数据类(UserData),还有一个用于保存用户数据的类会话(MySession)。会话在Wicket MyWebApplication中创建,随时调用newSession方法。

但结果是 - 它不起作用。

问题

成功登录后即删除用户数据。问题是创建会话:

  • 进入页面,加上
  • 进入登录页面,再加上
  • 返回主页

会产生6个创建的会话。当然,每个新会话都会杀死前一个会话,并且会杀死所有数据。

问题:那么如何正确地在会话中存储用户数据,或者如何使会话像真实会话一样工作?

1 个答案:

答案 0 :(得分:6)

发现它!似乎Wicket故意丢弃会话(默认情况下),所以如果想要保留它,她/他必须通过在会话上调用bind来明确说明它。更多关于它的信息在Craig Tataryn帖子中:

http://basementcoders.com/2008/10/sessions-in-wicket/