租電信服務(wù)器開網(wǎng)站磁力鏈bt磁力天堂
Sa-Token 根據(jù)官方文檔實現(xiàn)登錄鑒權(quán)測試
- 功能實現(xiàn)步驟
- 依賴
- 配置文件
- 啟動類
- 創(chuàng)建 controller
- 啟動項目
- 測試
- 不用密碼登錄
- 查看cookie狀態(tài)
- 密碼登錄
- 查看cookie狀態(tài)
- 修改token名稱
- Apipost 測試
- 無 cookie 模式【使用 token】
- 后端將 token 返回到前端
- 修改代碼:
- 測試:
- 訪問登錄接口,成功返回【token】
- 沒有攜帶 token 查詢登錄狀態(tài)
- 攜帶 token 查詢登錄狀態(tài)
- 前端將 token 提交到后端
- 修改 token 風(fēng)格和添加前綴
- 測試
功能實現(xiàn)步驟
依賴
在 SpringBoot 環(huán)境集成
配置文件
直接把配置文件的東西拷貝到我們自己項目的application.yml即可
啟動類
啟動類我也給加個打印看看
創(chuàng)建 controller
創(chuàng)建controller ,直接把代碼拷貝來修改就好了
啟動項目
測試
不用密碼登錄
此時登錄時失敗的
查看cookie狀態(tài)
密碼登錄
把 sa-token 放進(jìn)了 cookie 里面了
查看cookie狀態(tài)
后續(xù)就能根據(jù)cookie里面有沒有satoken來判斷這個用戶有沒有登錄
修改token名稱
token名稱是在這里,我們自己定義的
如圖,我就可以把【satoken】改名成我自己想要的名稱
Apipost 測試
因為apipost沒有cookie,此時是這樣的,登錄狀態(tài)是false
然后我們再給他在 header 加上cookie參數(shù),攜帶上cookie之后,登錄狀態(tài)就顯示成功
無 cookie 模式【使用 token】
注意:上面是把 token 放在了 cookie 里面。
傳統(tǒng)的 pc 形式,都是登錄之后,寫入 cookie。前端再次請求的時候,帶著 cookie 一個身份識別就可以完成認(rèn)證。
但是 【小程序、app 】是沒有 cookie 這個概念的。
為了更好的擴(kuò)展,我們就直接選擇 token的模式。
將 token 放入 header 來實現(xiàn)用戶身份的識別與鑒權(quán)。
現(xiàn)在我們不用 cookie,用純 token 的方式來實現(xiàn)。
后端將 token 返回到前端
首先,在前端調(diào)用登錄接口,請求登錄的時候,由后端返回一個token給前端。
// 官網(wǎng)的示例
// 登錄接口
@RequestMapping("doLogin")
public SaResult doLogin() {// 第1步,先登錄上 StpUtil.login(10001);// 第2步,獲取 Token 相關(guān)參數(shù) SaTokenInfo tokenInfo = StpUtil.getTokenInfo();// 第3步,返回給前端 return SaResult.data(tokenInfo);
}
修改代碼:
修改下controller的登錄代碼
// 測試登錄,瀏覽器訪問: http://localhost:3011/user/doLogin?username=zhang&password=123456@RequestMapping("doLogin")public SaResult doLogin(String username, String password) {// 此處僅作模擬示例,真實項目需要從數(shù)據(jù)庫中查詢數(shù)據(jù)進(jìn)行比對if("zhang".equals(username) && "123456".equals(password)) {// 第一步:先登錄上StpUtil.login(10001);// 第二步:獲取 token 相關(guān)參數(shù)SaTokenInfo tokenInfo = StpUtil.getTokenInfo();// 第三步:把 token 返回給前端return SaResult.data(tokenInfo);}return SaResult.error("登錄失敗");}
測試:
訪問登錄接口,成功返回【token】
沒有攜帶 token 查詢登錄狀態(tài)
把 cookie 刪除后,查詢【登錄狀態(tài)】,可以看到是 false
攜帶 token 查詢登錄狀態(tài)
前端將 token 提交到后端
修改 token 風(fēng)格和添加前綴
自定義 Token 風(fēng)格
自定義 Token 前綴
在配置文件修改
測試
測試:記得前端在提交token時,前綴和token之間需要一個空格
如果沒有,則訪問不到