一、什么是互斥登录?
如果你经常使用腾讯QQ,就会发现它的登录有如下特点:它可以手机电脑同时在线,但是不能在两个手机上同时登录一个账号
同端互斥登录,指的就是像腾讯QQ一样,在同一类型设备上只允许单地点登录,在不同类型设备上允许同时在线
二、实现想法
就是在数据库创建一个字段,然后用uuid生成一串字符,作为该字段的值,然后以此字段为值,用户id为键,形成键值对,每次登录都会将生成的uuid存入session,然后登录都会与数据库的uuid进行匹配,相同则通过,不相等则退出登录;
三、项目实现
3.1、实体类
@Data
public class User {
private Integer id;
private String pwd;
private String uuid;
}
3.2、controller层
@Controller
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/go/login")
public String goLogin(){
return "Login";
}
@