91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一個(gè)輕量級(jí)的權(quán)限認(rèn)證框架:Sa-Token

科技綠洲 ? 來源:Java技術(shù)指北 ? 作者:Java技術(shù)指北 ? 2023-09-30 16:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

初識(shí)sa-token

Sa-Token 是一個(gè)輕量級(jí) Java 權(quán)限認(rèn)證框架,旨在以簡(jiǎn)單、優(yōu)雅的方式完成系統(tǒng)的權(quán)限認(rèn)證部分,主要解決: 登錄認(rèn)證權(quán)限認(rèn)證單點(diǎn)登錄OAuth2.0 、 分布式Session會(huì)話微服務(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)證、會(huì)話二級(jí)認(rèn)證
  3. Session會(huì)話 —— 全端共享Session、單端獨(dú)享Session、自定義Session
  4. 踢人下線 —— 根據(jù)賬號(hào)id踢人下線、根據(jù)Token值踢人下線
  5. 賬號(hào)封禁 —— 登錄封禁、按照業(yè)務(wù)分類封禁、按照處罰階梯封禁
  6. 持久層擴(kuò)展 —— 可集成Redis、Memcached等專業(yè)緩存中間件,重啟數(shù)據(jù)不丟失
  7. 分布式會(huì)話 —— 提供jwt集成、共享數(shù)據(jù)中心兩種分布式會(huì)話方案
  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. 二級(jí)認(rèn)證 —— 在已登錄的基礎(chǔ)上再次認(rèn)證,保證安全性
  12. Basic認(rèn)證 —— 一行代碼接入 Http Basic 認(rèn)證
  13. 獨(dú)立Redis —— 將權(quán)限緩存與業(yè)務(wù)緩存分離
  14. 臨時(shí)Token認(rèn)證 —— 解決短時(shí)間的Token授權(quán)問題
  15. 模擬他人賬號(hào) —— 實(shí)時(shí)操作任意用戶狀態(tài)數(shù)據(jù)
  16. 臨時(shí)身份切換 —— 將會(huì)話身份臨時(shí)切換為其它賬號(hào)
  17. 前后端分離 —— APP、小程序等不支持Cookie的終端
  18. 同端互斥登錄 —— 像QQ一樣手機(jī)電腦同時(shí)在線,但是兩個(gè)手機(jī)上互斥登錄
  19. 多賬號(hào)認(rèn)證體系 —— 比如一個(gè)商城項(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. 自動(dòng)續(xù)簽 —— 提供兩種Token過期策略,靈活搭配使用,還可自動(dòng)續(xù)簽
  24. 會(huì)話治理 —— 提供方便靈活的會(huì)話查詢接口
  25. 記住我模式 —— 適配[記住我]模式,重啟瀏覽器免驗(yàn)證
  26. 密碼加密 —— 提供密碼加密模塊,可快速M(fèi)D5、SHA1、SHA256、AES、RSA加密
  27. 全局偵聽器 —— 在用戶登陸、注銷、被踢下線等關(guān)鍵性操作時(shí)進(jìn)行一些AOP操作
  28. 開箱即用 —— 提供SpringMVC、WebFlux等常見web框架starter集成包,真正的開箱即用

簡(jiǎn)單示例

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名稱 (同時(shí)也是cookie名稱)
    token-name: satoken
    
# 用 sa-token 默認(rèn)的配置即可,也可根據(jù)業(yè)務(wù)自行修改

2、編寫測(cè)試代碼

@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)前會(huì)話是否登錄:" + StpUtil.isLogin();
    }
    
}

3、測(cè)試

啟動(dòng)代碼,從瀏覽器依次訪問上述測(cè)試接口

圖片

圖片

小結(jié)

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2790

    瀏覽量

    50668
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    9032

    瀏覽量

    153949
  • 框架
    +關(guān)注

    關(guān)注

    0

    文章

    404

    瀏覽量

    17942
  • 數(shù)據(jù)中心
    +關(guān)注

    關(guān)注

    16

    文章

    5256

    瀏覽量

    73624
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    個(gè)面向嵌入式系統(tǒng)的輕量級(jí)框架

    mr-library 是個(gè)面向嵌入式系統(tǒng)的輕量級(jí)框架,提供統(tǒng)的底層驅(qū)動(dòng)設(shè)備模型以及基礎(chǔ)服務(wù)功能,具有模塊化設(shè)計(jì)、可配置性和擴(kuò)展性的特點(diǎn),
    發(fā)表于 09-01 12:22 ?811次閱讀

    面向嵌入式系統(tǒng)的輕量級(jí)框架mr-library簡(jiǎn)介

    mr-library 是個(gè)面向嵌入式系統(tǒng)的輕量級(jí)框架,提供統(tǒng)的底層驅(qū)動(dòng)設(shè)備模型以及基礎(chǔ)服務(wù)功能,具有模塊化設(shè)計(jì)、可配置性和擴(kuò)展性的特點(diǎn),
    發(fā)表于 09-15 10:35 ?2079次閱讀

    10個(gè)輕量級(jí)框架

    這些輕量級(jí)框架使用HTML5和CSS3標(biāo)準(zhǔn)來幫助您快速開發(fā)跨平臺(tái)的Web移動(dòng)應(yīng)用和網(wǎng)站。
    發(fā)表于 07-17 08:25

    輕量級(jí)的ui框架如何去制作

    原創(chuàng)分享:自制輕量級(jí)單片機(jī)UI框架框架元素用戶接口代碼開源平時(shí)??碿sdn,但是從來沒有自己寫過。正好這幾天需要用單片機(jī)做一個(gè)簡(jiǎn)易的ui界面,于是自己寫了
    發(fā)表于 07-14 07:39

    Dllite_micro (輕量級(jí)的 AI 推理框架

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

    如何自制輕量級(jí)單片機(jī)UI框架

    如何自制輕量級(jí)單片機(jī)UI框架?
    發(fā)表于 10-14 06:13

    基于動(dòng)態(tài)AOP 和WebServices 的輕量級(jí)RBAC

    針對(duì)傳統(tǒng)基于角色的訪問控制系統(tǒng)在面向中小企業(yè)應(yīng)用中的不足,設(shè)計(jì)了個(gè)面向中小企業(yè)的基于WebServices 的輕量級(jí)RBAC 系統(tǒng)。利用動(dòng)態(tài)AOP 技術(shù)將權(quán)限驗(yàn)證實(shí)現(xiàn)為方面,通過對(duì)W
    發(fā)表于 06-18 11:00 ?16次下載

    基于同步數(shù)的輕量級(jí)高效RFID身份認(rèn)證協(xié)議

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

    基于共識(shí)算法的輕量級(jí)輪轉(zhuǎn)CA認(rèn)證方案

    自組織網(wǎng)絡(luò)難以進(jìn)行復(fù)雜的認(rèn)證。針對(duì)該問題,結(jié)合輕量級(jí)證書頒發(fā)機(jī)構(gòu)(CA)認(rèn)證思想,借鑒區(qū)塊鏈技術(shù)中的共識(shí)機(jī)制來選舉CA,提出種基于共識(shí)算法的輕量級(jí)
    發(fā)表于 06-01 15:41 ?4次下載

    原創(chuàng)分享:自制輕量級(jí)單片機(jī)UI框架

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

    個(gè)高并發(fā)、輕量級(jí)的信息泄露掃描工具BBScan

    BBScan 是個(gè)高并發(fā)、輕量級(jí)的信息泄露掃描工具。
    的頭像 發(fā)表于 09-21 10:19 ?2039次閱讀

    SpringBoot使用Sa-Token-Quick-Login插件實(shí)現(xiàn)快速登錄認(rèn)證

    Sa-Token-Quick-Login 可以為個(gè)系統(tǒng)快速的、零代碼 注入個(gè)登錄頁面
    的頭像 發(fā)表于 01-09 16:49 ?1491次閱讀

    個(gè)純Python編寫的輕量級(jí)數(shù)據(jù)庫

    TinyDB 是個(gè)純 Python 編寫的輕量級(jí)數(shù)據(jù)庫,共只有1800行代碼,沒有外部依賴項(xiàng)。
    的頭像 發(fā)表于 02-24 10:32 ?1290次閱讀

    測(cè)評(píng)分享 | 如何在先楫HPM6750上運(yùn)行輕量級(jí)AI推理框架TinyMaix

    本期內(nèi)容由先楫開發(fā)者社區(qū)大咖@xusiwei1236分享基于先楫HPM6750的輕量級(jí)AI推理框架,趕緊來瞧瞧~、TinyMaix是什么?TinyMaix是國(guó)內(nèi)sipeed團(tuán)隊(duì)開發(fā)
    的頭像 發(fā)表于 12-12 17:57 ?2035次閱讀
    測(cè)評(píng)分享 | 如何在先楫HPM6750上運(yùn)行<b class='flag-5'>輕量級(jí)</b>AI推理<b class='flag-5'>框架</b>TinyMaix

    基于Python 輕量級(jí)ORM框架

    ORM框架使用最廣泛的就是SQLAlchemy和Django自帶的ORM框架,但是SQLAlchemy的語法顯然相對(duì)Django的ORM框架麻煩點(diǎn)。 而Django本身是
    的頭像 發(fā)表于 11-01 11:17 ?907次閱讀
    基于Python <b class='flag-5'>輕量級(jí)</b>ORM<b class='flag-5'>框架</b>
    主站蜘蛛池模板: 妖精视频永久在线入口 | 国产三级精品在线观看 | 可以看黄色的网站 | 2o18国产大陆天天弄 | 手机看片1024在线观看 | 久久久午夜毛片免费 | 天天插天天狠 | 亚洲乱论 | 成人自拍视频 | 欧美三级大片在线观看 | 久操视频在线观看免费 | 国产性videostv另类极品 | 你懂得国产| 免费香蕉视频国产在线看 | 激情综合丁香 | 一级免费看片 | 伊人久久综合成人网小说 | 国产一区二区精品 | 成人国产一区二区 | 444kk免费| 香蕉视频国产在线观看 | 免费毛片网站在线观看 | 最新理论三级中文在线观看 | 激情理论 | 亚洲va久久久噜噜噜久久男同 | 人碰人操| 亚洲一区二区在线免费观看 | 免费在线看视频 | 一级美女视频 | 毛片毛片毛片毛片毛片毛片 | 色综合色综合色综合色综合 | 男女视频在线观看 | 午夜色综合| 高清午夜线观看免费 | 日韩成a人片在线观看日本 日韩成人黄色 | 色天使久久综合网天天 | 新激情五月 | 天天干天天干天天干天天 | 亚洲综合欧美日本另类激情 | 又黑又长黑人欧美三级 | 诱人的老师bd高清日本在线观看 |