【问题标题】:Preserve Vaadin session data保留 Vaadin 会话数据
【发布时间】:2012-06-04 18:14:56
【问题描述】:

我是 Vaadin 初学者...

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

我问是因为我试图在页面刷新后为 http 会话设置一些东西,但它消失了。

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

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

【问题讨论】:

  • 在您的web.xml 文件中,session-timeout 标记的值是什么?
  • 再次初始化是什么意思?调用 Application.close()?

标签: session authentication vaadin


【解决方案1】:

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

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

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

Book of Vaadin - explaining how to set Cookies

Vaadin Addon which deals with Cookies

【讨论】:

    猜你喜欢
    • 2021-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多