java强制用户退出登录

ゝ一纸荒年。 2022-11-07 05:49 361阅读 0赞

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

  1. public class SessionHelper implements HttpSessionListener {
  2. @Override
  3. public void sessionCreated(HttpSessionEvent httpSessionEvent) {
  4. }
  5. @Override
  6. public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {
  7. SessionLockHelper.moveSession(httpSessionEvent.getSession());
  8. }
  9. }

2、在web.xml中配置监听


com.zgh.util.SessionHelper

3、创建工具类 SessionLockHelper.java

  1. public class SessionLockHelper {
  2. public static Map<String, HttpSession> map = new HashMap<String, HttpSession>();
  3. //添加session到集合;用户的id 作为 session 的 key
  4. public static void putSession(HttpSession session) {
  5. LoginUser user = (LoginUser) session.getAttribute("user");
  6. map.put(user.getId(), session);
  7. }
  8. public static void moveSession(HttpSession session) {
  9. LoginUser user = (LoginUser) session.getAttribute("user");
  10. map.remove(user.getId());
  11. }
  12. //让对应用户的会话失效
  13. public static void destroyedSession(String userId) {
  14. HttpSession session = map.get(userId);
  15. session.invalidate();
  16. }
  17. }

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

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

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

发表评论

表情:
评论列表 (有 0 条评论,361人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java退出登录功能

    > 有志者,事竟成 > 文章持续更新,可以关注【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线

    相关 登录退出

    // 开发说明 大致步骤 // 如何监听登录注册  通过events 插件定义事件 // 编写一个中间界面 在这里判断是否存在登录的信息 如果存在信息,则保持登录,否则重