偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

再見 Shiro、Spring Security!權限認證我選擇它

開發(fā) 前端
看得出來,比起Shiro、SpringSecurity這些被廣泛使用的鑒權項目,這個項目的集成使用方式可以簡單到令人發(fā)指。

哈嘍,大家好,我是了不起。

Java有很多優(yōu)秀的權限認證框架,如Apache Shiro、Spring Security等,但是集成起來實在是有些復雜;今天給大家介紹一個輕量級的權限認證框架:Sa-Token,只需引入依賴即可使用,接下來讓我們進一步了解它。

初識sa-token

Sa-Token 是一個輕量級 Java 權限認證框架,旨在以簡單、優(yōu)雅的方式完成系統(tǒng)的權限認證部分,主要解決:登錄認證、權限認證、單點登錄、OAuth2.0、分布式Session會話、微服務網關鑒權 等一系列權限相關問題。

圖片

sa-token

Sa-Token 功能

Sa-Token 目前主要五大功能模塊:登錄認證、權限認證、單點登錄、OAuth2.0、微服務鑒權。

  1. 登錄認證 —— 單端登錄、多端登錄、同端互斥登錄、七天內免登錄
  2. 權限認證 —— 權限認證、角色認證、會話二級認證
  3. Session會話 —— 全端共享Session、單端獨享Session、自定義Session
  4. 踢人下線 —— 根據賬號id踢人下線、根據Token值踢人下線
  5. 賬號封禁 —— 登錄封禁、按照業(yè)務分類封禁、按照處罰階梯封禁
  6. 持久層擴展 —— 可集成Redis、Memcached等專業(yè)緩存中間件,重啟數據不丟失
  7. 分布式會話 —— 提供jwt集成、共享數據中心兩種分布式會話方案
  8. 微服務網關鑒權 —— 適配Gateway、ShenYu、Zuul等常見網關的路由攔截認證
  9. 單點登錄 —— 內置三種單點登錄模式:無論是否跨域、是否共享Redis,都可以搞定
  10. OAuth2.0認證 —— 輕松搭建 OAuth2.0 服務,支持openid模式
  11. 二級認證 —— 在已登錄的基礎上再次認證,保證安全性
  12. Basic認證 —— 一行代碼接入 Http Basic 認證
  13. 獨立Redis —— 將權限緩存與業(yè)務緩存分離
  14. 臨時Token認證 —— 解決短時間的Token授權問題
  15. 模擬他人賬號 —— 實時操作任意用戶狀態(tài)數據
  16. 臨時身份切換 —— 將會話身份臨時切換為其它賬號
  17. 前后端分離 —— APP、小程序等不支持Cookie的終端
  18. 同端互斥登錄 —— 像QQ一樣手機電腦同時在線,但是兩個手機上互斥登錄
  19. 多賬號認證體系 —— 比如一個商城項目的user表和admin表分開鑒權
  20. Token風格定制 —— 內置六種Token風格,還可:自定義Token生成策略、自定義Token前綴
  21. 注解式鑒權 —— 優(yōu)雅的將鑒權與業(yè)務代碼分離
  22. 路由攔截式鑒權 —— 根據路由攔截鑒權,可適配restful模式
  23. 自動續(xù)簽 —— 提供兩種Token過期策略,靈活搭配使用,還可自動續(xù)簽
  24. 會話治理 —— 提供方便靈活的會話查詢接口
  25. 記住我模式 —— 適配[記住我]模式,重啟瀏覽器免驗證
  26. 密碼加密 —— 提供密碼加密模塊,可快速MD5、SHA1、SHA256、AES、RSA加密
  27. 全局偵聽器 —— 在用戶登陸、注銷、被踢下線等關鍵性操作時進行一些AOP操作
  28. 開箱即用 —— 提供SpringMVC、WebFlux等常見web框架starter集成包,真正的開箱即用

簡單示例

1、引入依賴

注:如果你使用的是 SpringBoot 3.x,只需要將 sa-token-spring-boot-starter 修改為 sa-token-spring-boot3-starter 即可。

<!-- Sa-Token 權限認證,1.34.0 已是最新版本 -->
<dependency>
    <groupId>cn.dev33</groupId>
    <artifactId>sa-token-spring-boot-starter</artifactId>
    <version>1.34.0</version>
</dependency>

yaml配置

server:
    # 端口
    port: 8081
    

sa-token: 
    # token名稱 (同時也是cookie名稱)
    token-name: satoken
    
# 用 sa-token 默認的配置即可,也可根據業(yè)務自行修改

2、編寫測試代碼

@RestController
@RequestMapping("/user/")
public class UserController {

    @RequestMapping("doLogin")
    public String doLogin(String username, String password) {
        if("zhang".equals(username) && "123456".equals(password)) {
            StpUtil.login(10001);
            return "登錄成功";
        }
        return "登錄失敗";
    }

    @RequestMapping("isLogin")
    public String isLogin() {
        return "當前會話是否登錄:" + StpUtil.isLogin();
    }
    
}

3、測試

啟動代碼,從瀏覽器依次訪問上述測試接口

圖片

圖片

小結

看得出來,比起Shiro、SpringSecurity這些被廣泛使用的鑒權項目,這個項目的集成使用方式可以簡單到令人發(fā)指。

今天就介紹到這里了,感興趣的小伙伴們可以去看官方文檔,進一步了解它。

Sa-Token 官方文檔

https://sa-token.cc/doc.html

責任編輯:武曉燕 來源: Java技術指北
相關推薦

2021-08-29 18:36:57

項目

2022-08-30 08:36:13

Spring權限控制

2022-08-30 08:55:49

Spring權限控制

2022-08-15 08:42:46

權限控制Spring

2022-06-16 10:38:24

URL權限源代碼

2022-08-30 08:43:11

Spring權限控制

2022-08-15 08:45:21

Spring權限控制

2022-08-30 08:50:07

Spring權限控制

2023-11-28 17:24:45

2020-12-29 10:36:34

互聯(lián)網數據技術

2025-08-07 06:05:00

try/catch前端JavaScrip

2020-09-16 08:07:54

權限粒度Spring Secu

2021-12-28 11:13:05

安全認證 Spring Boot

2024-02-18 12:44:22

2025-06-30 01:33:00

2022-05-05 10:40:36

Spring權限對象

2025-05-29 01:22:00

FeignJSONRPC

2009-08-28 09:45:07

最新思科認證CCNA Securi

2021-07-27 10:49:10

SpringSecurity權限

2020-06-17 08:31:10

權限控制Spring Secu
點贊
收藏

51CTO技術棧公眾號