sa-token是什麼?
sa-token是一個JavaWeb輕量級權限認證框架, 官網首頁:http://sa-token.dev33.cn/java
若是你常用騰訊QQ,就會發現它的登陸有以下特色:它能夠手機電腦同時在線,可是不能在兩個手機上同時登陸一個帳號 同端互斥登陸,指的就是像騰訊QQ同樣,在同一類型設備上只容許單地點登陸,在不一樣類型設備上容許同時在線框架
在sa-token中如何作到同端互斥登陸?
首先在配置文件中,將 allowConcurrentLogin
配置爲false,而後調用登陸等相關接口時聲明設備標識便可:url
指定設備標識登陸
StpUtil.setLoginId(10001, "PC"); // 指定`帳號id`和`設備標識`進行登陸
調用此方法登陸後,同設備的會被頂下線(不一樣設備不受影響),再次訪問系統時會拋出 NotLoginException
異常,場景值=-4
.net
指定設備標識強制註銷
StpUtil.logoutByLoginId(10001, "PC"); // 指定`帳號id`和`設備標識`進行強制註銷 (踢人下線)
若是第二個參數填寫null或不填,表明將這個帳號id全部在線端踢下線,被踢出者再次訪問系統時會拋出 NotLoginException
異常,場景值=-5
code
查詢當前登陸的設備標識
StpUtil.getLoginDevice(); // 指返回當前token的登陸設備
id反查token
StpUtil.getTokenValueByLoginId(10001, "APP"); // 獲取指定loginId指定設備端的tokenValue