【问题标题】:How to redirect user to custom web page after session times out?会话超时后如何将用户重定向到自定义网页?
【发布时间】:2012-12-07 18:18:08
【问题描述】:

我想通过我的代码将用户重定向到会话超时页面。 我可以在过滤器中编写什么逻辑来检查会话是否已超时并将用户重定向到该自定义页面(例如 CustomSessionTimeout.jsp)。此页面无需经过任何过滤。

这是第一个过滤器中一个方法的签名

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)

【问题讨论】:

    标签: authentication servlets servlet-filters session-timeout


    【解决方案1】:

    您可以通过查看用户是否有sent 会话cookie 以及根据服务器不再是valid 的请求来检查。

    @Override
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) {
        HttpServletRequest request = (HttpServletRequest) req;
        HttpServletResponse response = (HttpServletResponse) res;
    
        if (request.getRequestedSessionId() != null && !request.isRequestedSessionIdValid()) {
            // Session has expired! Now do your job.
            response.sendRedirect(request.getContextPath() + "/CustomSessionTimeout.jsp");
            return;
        }
    
        chain.doFilter(req, res);
    }
    

    【讨论】:

      猜你喜欢
      • 2013-01-04
      • 1970-01-01
      • 1970-01-01
      • 2013-06-08
      • 1970-01-01
      • 2016-08-20
      • 1970-01-01
      • 2014-04-09
      • 2012-09-12
      相关资源
      最近更新 更多