在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一個輕量級的權限認證框架:Sa-Token

科技綠洲 ? 來源:Java技術指北 ? 作者:Java技術指北 ? 2023-09-30 16:46 ? 次閱讀

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

初識sa-token

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

圖片
sa-token

Sa-Token 功能

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

  1. 登錄認證 —— 單端登錄、多端登錄、同端互斥登錄、七天內免登錄
  2. 權限認證 —— 權限認證、角色認證、會話二級認證
  3. Session會話 —— 全端共享Session、單端獨享Session、自定義Session
  4. 踢人下線 —— 根據賬號id踢人下線、根據Token值踢人下線
  5. 賬號封禁 —— 登錄封禁、按照業務分類封禁、按照處罰階梯封禁
  6. 持久層擴展 —— 可集成Redis、Memcached等專業緩存中間件,重啟數據不丟失
  7. 分布式會話 —— 提供jwt集成、共享數據中心兩種分布式會話方案
  8. 微服務網關鑒權 —— 適配Gateway、ShenYu、Zuul等常見網關的路由攔截認證
  9. 單點登錄 —— 內置三種單點登錄模式:無論是否跨域、是否共享Redis,都可以搞定
  10. OAuth2.0認證 —— 輕松搭建 OAuth2.0 服務,支持openid模式
  11. 二級認證 —— 在已登錄的基礎上再次認證,保證安全性
  12. Basic認證 —— 一行代碼接入 Http Basic 認證
  13. 獨立Redis —— 將權限緩存與業務緩存分離
  14. 臨時Token認證 —— 解決短時間的Token授權問題
  15. 模擬他人賬號 —— 實時操作任意用戶狀態數據
  16. 臨時身份切換 —— 將會話身份臨時切換為其它賬號
  17. 前后端分離 —— APP、小程序等不支持Cookie的終端
  18. 同端互斥登錄 —— 像QQ一樣手機電腦同時在線,但是兩個手機上互斥登錄
  19. 多賬號認證體系 —— 比如一個商城項目的user表和admin表分開鑒權
  20. Token風格定制 —— 內置六種Token風格,還可:自定義Token生成策略、自定義Token前綴
  21. 注解式鑒權 —— 優雅的將鑒權與業務代碼分離
  22. 路由攔截式鑒權 —— 根據路由攔截鑒權,可適配restful模式
  23. 自動續簽 —— 提供兩種Token過期策略,靈活搭配使用,還可自動續簽
  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 默認的配置即可,也可根據業務自行修改

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這些被廣泛使用的鑒權項目,這個項目的集成使用方式可以簡單到令人發指。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 模塊
    +關注

    關注

    7

    文章

    2706

    瀏覽量

    47468
  • 接口
    +關注

    關注

    33

    文章

    8596

    瀏覽量

    151146
  • 框架
    +關注

    關注

    0

    文章

    403

    瀏覽量

    17484
  • 數據中心
    +關注

    關注

    16

    文章

    4778

    瀏覽量

    72123
收藏 人收藏

    評論

    相關推薦

    面向嵌入式系統的輕量級框架

    mr-library 是面向嵌入式系統的輕量級框架,提供統的底層驅動設備模型以及基礎服務功能,具有模塊化設計、可配置性和擴展性的特點,
    發表于 09-01 12:22 ?581次閱讀

    面向嵌入式系統的輕量級框架mr-library簡介

    mr-library 是面向嵌入式系統的輕量級框架,提供統的底層驅動設備模型以及基礎服務功能,具有模塊化設計、可配置性和擴展性的特點,
    發表于 09-15 10:35 ?1622次閱讀

    10輕量級框架

    這些輕量級框架使用HTML5和CSS3標準來幫助您快速開發跨平臺的Web移動應用和網站。
    發表于 07-17 08:25

    輕量級的ui框架如何去制作

    原創分享:自制輕量級單片機UI框架框架元素用戶接口代碼開源平時常看csdn,但是從來沒有自己寫過。正好這幾天需要用單片機做一個簡易的ui界面,于是自己寫了
    發表于 07-14 07:39

    Dllite_micro (輕量級的 AI 推理框架

    DLLite-Micro 是輕量級的 AI 推理框架,可以為 OpenHarmony OS 的輕量設備和小型設備提供深度模型的推理能力DLLite-Micro 向開發者提供清晰、易
    發表于 08-05 11:40

    如何自制輕量級單片機UI框架

    如何自制輕量級單片機UI框架
    發表于 10-14 06:13

    基于動態AOP 和WebServices 的輕量級RBAC

    針對傳統基于角色的訪問控制系統在面向中小企業應用中的不足,設計了面向中小企業的基于WebServices 的輕量級RBAC 系統。利用動態AOP 技術將權限驗證實現為方面,通過對W
    發表于 06-18 11:00 ?16次下載

    基于同步數的輕量級高效RFID身份認證協議

    輕量級高效RFID身份認證協議。協議運用同步數以及雙向認證機制保障系統安全性。對各種威脅進行分析,確保了協議的安全性。通過比較其他協議的效率與成本,可以看出該協議具有輕量級與高效性。
    發表于 12-01 14:19 ?1次下載
    基于同步數的<b class='flag-5'>輕量級</b>高效RFID身份<b class='flag-5'>認證</b>協議

    輕量級的通信協議 - MAVLink

    輕量級的通信協議 - MAVLink
    的頭像 發表于 03-12 14:14 ?4695次閱讀
    <b class='flag-5'>一</b>種<b class='flag-5'>輕量級</b>的通信協議 -  MAVLink

    基于共識算法的輕量級輪轉CA認證方案

    自組織網絡難以進行復雜的認證。針對該問題,結合輕量級證書頒發機構(CA)認證思想,借鑒區塊鏈技術中的共識機制來選舉CA,提出種基于共識算法的輕量級
    發表于 06-01 15:41 ?4次下載

    原創分享:自制輕量級單片機UI框架

    原創分享:自制輕量級單片機UI框架框架元素用戶接口代碼開源平時常看csdn,但是從來沒有自己寫過。正好這幾天需要用單片機做一個簡易的ui界面,于是自己寫了
    發表于 11-05 15:20 ?29次下載
    原創分享:自制<b class='flag-5'>輕量級</b>單片機UI<b class='flag-5'>框架</b>

    高并發、輕量級的信息泄露掃描工具BBScan

    BBScan 是高并發、輕量級的信息泄露掃描工具。
    的頭像 發表于 09-21 10:19 ?1624次閱讀

    SpringBoot使用Sa-Token-Quick-Login插件實現快速登錄認證

    Sa-Token-Quick-Login 可以為系統快速的、零代碼 注入登錄頁面
    的頭像 發表于 01-09 16:49 ?1236次閱讀

    測評分享 | 如何在先楫HPM6750上運行輕量級AI推理框架TinyMaix

    本期內容由先楫開發者社區大咖@xusiwei1236分享基于先楫HPM6750的輕量級AI推理框架,趕緊來瞧瞧~、TinyMaix是什么?TinyMaix是國內sipeed團隊開發
    的頭像 發表于 12-12 17:57 ?1577次閱讀
    測評分享 | 如何在先楫HPM6750上運行<b class='flag-5'>輕量級</b>AI推理<b class='flag-5'>框架</b>TinyMaix

    基于Python 輕量級ORM框架

    ORM框架使用最廣泛的就是SQLAlchemy和Django自帶的ORM框架,但是SQLAlchemy的語法顯然相對Django的ORM框架麻煩點。 而Django本身是
    的頭像 發表于 11-01 11:17 ?635次閱讀
    基于Python <b class='flag-5'>輕量級</b>ORM<b class='flag-5'>框架</b>
    主站蜘蛛池模板: jiuse在线| 狠狠色噜噜狠狠狠狠98| 99热久久精品免费精品| 日本有色视频| 日本在线色视频| 一级视频免费观看| 视频在线观看免费网站| 亚洲国产情侣偷自在线二页| 天天狠狠色噜噜| 欧美日韩精品一区二区另类| 亚洲一级色片| 亚洲福利视频一区| 日本高清色图| 天天摸夜夜摸成人免费视频 | 国产在线播放成人免费| 欧美日韩亚洲国内综合网俺| 天天夜夜骑| 乱妇伦小说| 狠狠综合| 夜夜bb| 久久澡| 寄宿日记免费看| 国产老头和美女在线观看| 性视频在线| 亚洲精品久久久久午夜| 亚洲免费视频播放| 美女被拍拍拍拍拍拍拍拍| 久久久国产乱子伦精品| 91大神成人偷拍在线观看| 一区二区三区高清视频在线观看| 色聚网久久综合| 天堂网在线www资源网| 超h高h文污肉| 成年免费大片黄在线观看免费| tube69hdxxxx日本| 毛片的网站| 亚洲1314| 欧美大片一区二区| 国产精品午夜久久| 日韩欧美国产电影| 黄色网址中文字幕|