java强制用户退出登录

1、创建一个实现HttpSessionListener的监听器

public class SessionHelper implements HttpSessionListener {@Overridepublic void sessionCreated(HttpSessionEvent httpSessionEvent) {}@Overridepublic void sessionDestroyed(HttpSessionEvent httpSessionEvent) {SessionLockHelper.moveSession(httpSessionEvent.getSession());}
}

2、在web.xml中配置监听

 
        com.zgh.util.SessionHelper  
 

3、创建工具类 SessionLockHelper.java

public class SessionLockHelper {public static Map map = new HashMap();//添加session到集合;用户的id 作为 session 的 key public static void putSession(HttpSession session) {LoginUser user = (LoginUser) session.getAttribute("user");map.put(user.getId(), session);}public static void moveSession(HttpSession session) {LoginUser user = (LoginUser) session.getAttribute("user");map.remove(user.getId());}//让对应用户的会话失效public static void destroyedSession(String userId) {HttpSession session = map.get(userId);session.invalidate();}
}

4、当用户登录成功时调用 SessionLockHelper.putSession(HttpSession session)方法

5、对于要强制注销的用户调用SessionLockHelper.destroyedSession(String userId)方法

6、请求拦截器判断是否能获取到当前用户的Session,如果获取不到,跳转到登录页面
 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部