关于java:satoken-v190-版本已发布带来激动人心新特性同端互斥登录

10次阅读

共计 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 
正文完
 0