sa-token v1.9.0 版本已發(fā)布,帶來激動人心新特性:同端互斥登錄

sa-token是什么?

sa-token是一個JavaWeb輕量級權(quán)限認(rèn)證框架

如果你經(jīng)常使用騰訊QQ,就會發(fā)現(xiàn)它的登錄有如下特點:它可以手機電腦同時在線,但是不能在兩個手機上同時登錄一個賬號
同端互斥登錄,指的就是像騰訊QQ一樣,在同一類型設(shè)備上只允許單地點登錄,在不同類型設(shè)備上允許同時在線

在sa-token中如何做到同端互斥登錄?

首先在配置文件中,將 allowConcurrentLogin 配置為false,然后調(diào)用登錄等相關(guān)接口時聲明設(shè)備標(biāo)識即可:

指定設(shè)備標(biāo)識登錄

StpUtil.setLoginId(10001, "PC");    // 指定`賬號id`和`設(shè)備標(biāo)識`進行登錄

調(diào)用此方法登錄后,同設(shè)備的會被頂下線(不同設(shè)備不受影響),再次訪問系統(tǒng)時會拋出 NotLoginException 異常,場景值=-4

指定設(shè)備標(biāo)識強制注銷

StpUtil.logoutByLoginId(10001, "PC");   // 指定`賬號id`和`設(shè)備標(biāo)識`進行強制注銷 (踢人下線)

如果第二個參數(shù)填寫null或不填,代表將這個賬號id所有在線端踢下線,被踢出者再次訪問系統(tǒng)時會拋出 NotLoginException 異常,場景值=-5

查詢當(dāng)前登錄的設(shè)備標(biāo)識

StpUtil.getLoginDevice();   // 指返回當(dāng)前token的登錄設(shè)備

id反查token

StpUtil.getTokenValueByLoginId(10001, "APP");   // 獲取指定loginId指定設(shè)備端的tokenValue 
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容