1

我是Vaadin初学者...

如果再次初始化应用程序,是否可以保留会话数据?

我之所以问,是因为我试图在页面刷新后为 http 会话设置一些东西。

WebApplicationContext ctx = (WebApplicationContext) this.getContext();
HttpSession session = ctx.getHttpSession();
Object attribute = session.getAttribute("user"); // <- always gets flushed

我想使用这种方法进行用户身份验证。如何最好地做到这一点?

4

1 回答 1

3

再次初始化应用程序时刷新属性是完全正常的,因为当应用程序再次初始化时,会创建一个新的上下文。因此,我建议您使用 http-cookies 而不是将属性添加到会话本身,因为这是(据我所知)在网站上完成“记住我”功能的默认方式。您还可以设置 cookie 的过期日期。

作为安全提示,我建议您不要跨会话使用数据进行用户身份验证,这很容易被发现和滥用。

此外,我发现了一篇文章和一个处理 cookie 的插件:

Vaadin 之书 - 解释如何设置 Cookie

处理 Cookie 的 Vaadin 插件

于 2012-06-04T10:14:56.477 回答