java强制用户退出登录
发布日期:2021-06-29 11:47:41 浏览次数:2 分类:技术文章

本文共 1259 字,大约阅读时间需要 4 分钟。

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

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

2、在web.xml中配置监听

<listener>  

        <listener-class>com.zgh.util.SessionHelper</listener-class>  
 </listener>

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,如果获取不到,跳转到登录页面

 

转载地址:https://blog.csdn.net/zzchances/article/details/114667869 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java8的stream和lamda获取list集合中的某几个字段组成新的list
下一篇:生活中的好词句

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月12日 03时34分05秒