【问题标题】:JSF, session timeout handling [duplicate]JSF,会话超时处理[重复]
【发布时间】:2014-04-18 07:13:09
【问题描述】:

我已经在服务器中配置了我的会话超时,并添加了一个过滤器来处理会话超时。但是当我试图将它重定向回登录页面时,它不起作用。我搜索了网络,但没有得到任何可靠的东西。我正在使用 jsf.. 我的代码

public class SessionTimeoutFilter implements Filter {

private String timeoutPage = "login.seam";
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest request, 
  ServletResponse response, FilterChain filterChain) throws IOException,ServletException {
if ((request instanceof HttpServletRequest) 
   && (response instanceof HttpServletResponse)) 
{
    HttpServletRequest httpServletRequest = (HttpServletRequest) request;
    HttpServletResponse httpServletResponse = (HttpServletResponse) response;
    if (isSessionControlRequiredForThisResource(httpServletRequest)) {
        if (isSessionInvalid(httpServletRequest)) 
        {
            String timeoutUrl = httpServletRequest.getContextPath() 
           + "/" + getTimeoutPage();
            System.out.println("Session is invalid! redirecting to timeoutpage : " + timeoutUrl);
            httpServletResponse.sendRedirect(timeoutUrl);
            return;
        }
    }
}
filterChain.doFilter(request, response);
}

谁能告诉我我做错了什么...为什么 sendredirect 没有响应

【问题讨论】:

    标签: jsf session-timeout


    【解决方案1】:

    也许此解决方案适合您的需求:

    How to redirect to index page if session time out happened in jsf application

    如果您需要对会话超时执行一些操作,您还可以在会话状态 bean 上创建 @Destory 注释方法。

    【讨论】:

    • 重定向正在发生但页面没有改变它仍然显示相同的页面...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-30
    • 2012-06-27
    • 2013-05-17
    • 2012-09-16
    • 2014-03-22
    • 2012-10-14
    相关资源
    最近更新 更多