【问题标题】:Determining for what user was a session invalidated确定会话无效的用户
【发布时间】:2013-04-04 13:29:53
【问题描述】:

使用 JBoss 5.1.0 GA。在我的应用程序的 web.xml 中,我正在定义这样的会话无效超时:

<session-config>
    <session-timeout>5</session-timeout>
</session-config>

我如何知道哪个用户的会话无效?

我尝试使用 HttpSessionListener 拦截 sessionDestroyed 事件并使用

HttpServletRequest request = (HttpServletRequest)PolicyContext.getContext("javax.servlet.http.HttpServletRequest");

但主体始终为空。

【问题讨论】:

    标签: java session jakarta-ee invalidation


    【解决方案1】:

    一种方法是在登录应用程序后为该用户创建用户名时将用户名存储在会话中。

    HttpSession session = request.getSession(true);
    session.setAttribute("USER_NAME", "xyz");
    

    在使会话无效之前获取用户。

    session.getAttribute("USER_NAME");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-24
      • 1970-01-01
      • 1970-01-01
      • 2014-02-25
      • 1970-01-01
      • 2015-08-14
      • 2012-01-21
      相关资源
      最近更新 更多