輕量級 Java 權(quán)限認(rèn)證框架Sa-Token初體驗(yàn)
作為一個又菜又愛玩的程序猴(自我感覺離猿總差一點(diǎn)點(diǎn)),GitHub擁有7.7k的star項(xiàng)目,自然是要找時間試試的。
項(xiàng)目圖
第一次看到這個項(xiàng)目的時候,是在gitee的GVP推薦中看到的,一直都沒有時間深入的了解。最近可用于摸魚的時間多了起來,簡單看了下這個項(xiàng)目的文檔,驚訝于文檔的詳細(xì),是我喜歡的樣子(中文文檔),所以決定寫兩行代碼試試。
先建一個基礎(chǔ)springboot項(xiàng)目
基礎(chǔ)項(xiàng)目
項(xiàng)目中僅包含spring-boot-starter、spring-boot-starter-test、spring-boot-starter-web
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.0.3.RELEASE</version>
</dependency>
隨便給指定一個端口
server:
port: 9999
啟動一下
沒有問題,接下來在項(xiàng)目中引入Sa-Token依賴
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot-starter</artifactId>
<version>1.28.0</version>
</dependency>
重啟項(xiàng)目
引入成功
項(xiàng)目啟動時打印出來了Sa-Token的內(nèi)容,引入成功。
新建一個Controller,用來測試基本功能
package com.demo.satoken;
import cn.dev33.satoken.stp.StpUtil;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
("/user/")
public class UserController {
// 測試登錄,瀏覽器訪問: http://localhost:9999/user/doLogin?username=zhang&password=123456
("doLogin")
public String doLogin(String username, String password) {
// 此處僅作模擬示例,真實(shí)項(xiàng)目需要從數(shù)據(jù)庫中查詢數(shù)據(jù)進(jìn)行比對
if("zhang".equals(username) && "123456".equals(password)) {
StpUtil.login(10001);
return "登錄成功";
}
return "登錄失敗";
}
// 查詢登錄狀態(tài),瀏覽器訪問: http://localhost:9999/user/isLogin
("isLogin")
public String isLogin() {
return "當(dāng)前會話是否登錄:" + StpUtil.isLogin();
}
}
再次重啟項(xiàng)目
先在瀏覽器打開
http://localhost:9999/user/isLogin,查詢一下登錄狀態(tài)
未登錄
登錄一下
登錄
再次檢查登錄狀態(tài)
登錄成功
看得出來,比起Shiro、SpringSecurity這些被廣泛使用的鑒權(quán)項(xiàng)目,這個項(xiàng)目的集成使用方式可以簡單到令人發(fā)指。突然更有興趣了,后續(xù)我會繼續(xù)體驗(yàn)這個項(xiàng)目,有興趣了解這個項(xiàng)目的請自行查看。
文檔地址:http://sa-token.dev33.cn/
項(xiàng)目地址:
https://gitee.com/dromara/sa-token