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中配置监听
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,如果获取不到,跳转到登录页面
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
