想实现的是,一个账号登录把另外一个账号给挤掉,使其回到登录页面
使用的是下面的跳转方式:
request.getRequestDispatcher("/login.html").forward(request, response);
但是却出现了俄罗斯套娃,emmmm
有没有懂哥帮帮忙,谢谢啦
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
Subject subject = WebUtil.getSubject();
if (subject.isAuthenticated()) {
String time = (String) CacheUtil.get("login_flag_session_" + WebUtil.getUserId());
String session_time = (String) request.getSession().getAttribute("login_flag_session");
if (!StringUtil.isEmpty(time) && !StringUtil.isEmpty(session_time) && time.equals(session_time)) {
logger.info("Is MyFilter ==> {}", request.getRequestURL().toString());
} else {
request.getRequestDispatcher("/login.html").forward(request, response);
subject.logout();
return;
}
}
chain.doFilter(request, response);
}