sa-token v1.9.0 版本已发布,带来激动人心新特性:同端互斥登陆

sa-token是什么?

sa-token是一个JavaWeb轻量级权限认证框架, 官网首页:http://sa-token.dev33.cn/java

若是你常用腾讯QQ,就会发现它的登陆有以下特色:它能够手机电脑同时在线,可是不能在两个手机上同时登陆一个帐号
同端互斥登陆,指的就是像腾讯QQ同样,在同一类型设备上只容许单地点登陆,在不一样类型设备上容许同时在线框架

在sa-token中如何作到同端互斥登陆?

首先在配置文件中,将 allowConcurrentLogin 配置为false,而后调用登陆等相关接口时声明设备标识便可:code

指定设备标识登陆

StpUtil.setLoginId(10001, "PC");    // 指定`帐号id`和`设备标识`进行登陆

调用此方法登陆后,同设备的会被顶下线(不一样设备不受影响),再次访问系统时会抛出 NotLoginException 异常,场景值=-4token

指定设备标识强制注销

StpUtil.logoutByLoginId(10001, "PC");    // 指定`帐号id`和`设备标识`进行强制注销 (踢人下线)

若是第二个参数填写null或不填,表明将这个帐号id全部在线端踢下线,被踢出者再次访问系统时会抛出 NotLoginException 异常,场景值=-5接口

查询当前登陆的设备标识

StpUtil.getLoginDevice();    // 指返回当前token的登陆设备

id反查token

StpUtil.getTokenValueByLoginId(10001, "APP");    // 获取指定loginId指定设备端的tokenValue
相关文章
相关标签/搜索