会话超时后如何将用户重定向到自定义网页?
Posted
技术标签:
【中文标题】会话超时后如何将用户重定向到自定义网页?【英文标题】: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)
【问题讨论】:
【参考方案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);
【讨论】:
以上是关于会话超时后如何将用户重定向到自定义网页?的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 8 Jetstream如何在重置密码后将用户重定向到自定义路由