SessionInvalidationFilter.java 文件源码

java
阅读 31 收藏 0 点赞 0 评论 0

项目:Guestbook9001 作者:
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    HttpServletRequest request = (HttpServletRequest) servletRequest;
    HttpSession session = request.getSession(true);
    Long lastActiveObject = (Long) session.getAttribute(LAST_ACTIVE_SESSION_ATTRIBUTE);
    long currentTime = System.currentTimeMillis();

    if(lastActiveObject != null) {
        long lastActive = lastActiveObject.longValue();
        if(currentTime - lastActive > SESSION_TIMEOUT) {
            LOG.info(String.format("Invalidated session of %s due to timeout", LogUtil.getUserInfo(request)));
            session.invalidate();
            session = request.getSession(true);
        }
    }

    session.setAttribute(LAST_ACTIVE_SESSION_ATTRIBUTE, Long.valueOf(currentTime));

    filterChain.doFilter(request, servletResponse);
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号