共计 667 个字符,预计需要花费 2 分钟才能阅读完成。
sa-token 是什么?
sa-token 是一个 JavaWeb 轻量级权限认证框架, 官网首页:http://sa-token.dev33.cn/
如果你常常应用腾讯 QQ,就会发现它的登录有如下特点:它能够手机电脑同时在线,然而不能在两个手机上同时登录一个账号
同端互斥登录,指的就是像腾讯 QQ 一样,在同一类型设施上只容许单地点登录,在不同类型设施上容许同时在线
在 sa-token 中如何做到同端互斥登录?
首先在配置文件中,将 allowConcurrentLogin
配置为 false,而后调用登录等相干接口时申明设施标识即可:
指定设施标识登录
StpUtil.setLoginId(10001, "PC"); // 指定 ` 账号 id` 和 ` 设施标识 ` 进行登录
调用此办法登录后,同设施的会被顶下线(不同设施不受影响),再次拜访零碎时会抛出 NotLoginException
异样,场景值 =-4
指定设施标识强制登记
StpUtil.logoutByLoginId(10001, "PC"); // 指定 ` 账号 id` 和 ` 设施标识 ` 进行强制登记 (踢人下线)
如果第二个参数填写 null 或不填,代表将这个账号 id 所有在线端踢下线,被踢出者再次拜访零碎时会抛出 NotLoginException
异样,场景值 =-5
查问以后登录的设施标识
StpUtil.getLoginDevice(); // 指返回以后 token 的登录设施
id 反查 token
StpUtil.getTokenValueByLoginId(10001, "APP"); // 获取指定 loginId 指定设施端的 tokenValue
正文完