自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

再見 Shiro、Spring Security!權(quán)限認(rèn)證我選擇它

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

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

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

初識sa-token

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

圖片

sa-token

Sa-Token 功能

Sa-Token 目前主要五大功能模塊:登錄認(rèn)證、權(quán)限認(rèn)證、單點(diǎn)登錄、OAuth2.0、微服務(wù)鑒權(quán)。

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

簡單示例

1、引入依賴

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

<!-- Sa-Token 權(quán)限認(rèn)證,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 默認(rèn)的配置即可,也可根據(jù)業(yè)務(wù)自行修改

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 "當(dāng)前會話是否登錄:" + StpUtil.isLogin();
    }
    
}

3、測試

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

圖片

圖片

小結(jié)

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

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

Sa-Token 官方文檔

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

責(zé)任編輯:武曉燕 來源: Java技術(shù)指北
相關(guān)推薦

2021-08-29 18:36:57

項(xiàng)目

2022-08-30 08:50:07

Spring權(quán)限控制

2022-08-15 08:42:46

權(quán)限控制Spring

2022-08-30 08:43:11

Spring權(quán)限控制

2022-08-30 08:36:13

Spring權(quán)限控制

2022-08-30 08:55:49

Spring權(quán)限控制

2022-08-15 08:45:21

Spring權(quán)限控制

2022-06-16 10:38:24

URL權(quán)限源代碼

2023-11-28 17:24:45

2020-12-29 10:36:34

互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)

2020-09-16 08:07:54

權(quán)限粒度Spring Secu

2024-02-18 12:44:22

2021-12-28 11:13:05

安全認(rèn)證 Spring Boot

2022-05-05 10:40:36

Spring權(quán)限對象

2020-06-17 08:31:10

權(quán)限控制Spring Secu

2021-07-27 10:49:10

SpringSecurity權(quán)限

2009-08-28 09:45:07

最新思科認(rèn)證CCNA Securi

2025-02-04 11:18:49

Spring安全應(yīng)用

2022-06-27 14:21:09

Spring語言

2023-01-13 08:11:24

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號