简介
什么是互斥登录
在实际生活中,很多网站都做了多点登录互斥的操作,简单来说就是同一个账号,只能在一台电脑上登录,如果有人在其他地方登录,那么原来登录的地方就会自动下线,再进行操作就会弹出登录界面。
具体实现步骤
添加拦截器,设置UUID作为唯一标识,存入数据库中当value,当前登陆者的账户为key,当前登陆者session中存入的UUID与我们数据库中的UUID值相同则通过,否则返回false,表示设备已在其他地方登录。
代码实现
搭建springBoot项目
选择java8
选择要导入的依赖,因为是springboot整合thymeleaf 所以我选择了勾选 thymeleaf 以及 Spring Web,如要使用数据库可在sql里勾选您使用的数据库
这就是springboot创建出来的完整结构
实体类(pojo)
Controller层
首先将ID存入session中,在随机生成一个UUID,将数据库中对应用户的uuid修改成生成的 uuid, 将uuid存入session中
intercepor
将数据库里的UUID与session中的UUID进行对比,相同则放行,不同则拦截
config
设置拦截路径,提高优先级
最终效果