" />

最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文學會使用sa-token解決網(wǎng)站權(quán)限驗證

 更新時間:2023年07月18日 11:36:37   作者:省長[機智]  
這篇文章主要為大家介紹了使用sa-token解決網(wǎng)站權(quán)限驗證方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

sa-token是什么?

sa-token是一個JavaWeb輕量級權(quán)限認證框架,其API調(diào)用非常簡單,有多簡單呢?以登錄驗證為例,你只需要:

// 在登錄時寫入當前會話的賬號id 
StpUtil.setLoginId(10001);    
// 然后在任意需要校驗登錄處調(diào)用以下API  
// --- 如果當前會話未登錄,這句代碼會拋出 `NotLoginException`異常
StpUtil.checkLogin();

沒有復雜的封裝!不要任何的配置!只需這兩行簡單的調(diào)用,即可輕松完成系統(tǒng)登錄鑒權(quán)!

與其它權(quán)限認證框架相比,sa-token盡力保證兩點:

  • 上手簡單:能自動化的配置全部自動化,不讓你費腦子
  • 功能強大:能涵蓋的功能全部涵蓋,不讓你用個框架還要自己給框架打各種補丁

如果上面的示例能夠證明sa-token的簡單,那么以下API則可以證明sa-token的強大

StpUtil.setLoginId(10001);          // 標記當前會話登錄的賬號id
StpUtil.getLoginId();               // 獲取當前會話登錄的賬號id
StpUtil.isLogin();                  // 獲取當前會話是否已經(jīng)登錄, 返回true或false
StpUtil.logout();                   // 當前會話注銷登錄
StpUtil.logoutByLoginId(10001);     // 讓賬號為10001的會話注銷登錄(踢人下線)
StpUtil.hasRole("super-admin");     // 查詢當前賬號是否含有指定角色標識, 返回true或false
StpUtil.hasPermission("user:add");  // 查詢當前賬號是否含有指定權(quán)限, 返回true或false
StpUtil.getSession();               // 獲取當前賬號id的Session 
StpUtil.getSessionByLoginId(10001); // 獲取賬號id為10001的Session
StpUtil.getTokenValueByLoginId(10001);  // 獲取賬號id為10001的token令牌值

涵蓋功能

  • 登錄驗證 —— 輕松登錄鑒權(quán),并提供五種細分場景值
  • 權(quán)限驗證 —— 攔截違規(guī)調(diào)用,不同角色不同授權(quán)
  • Session會話 —— 專業(yè)的數(shù)據(jù)緩存中心
  • 踢人下線 —— 將違規(guī)用戶立刻清退下線
  • 模擬他人賬號 —— 實時操作任意用戶狀態(tài)數(shù)據(jù)
  • 持久層擴展 —— 可集成redis、MongoDB等專業(yè)緩存中間件
  • 多賬號認證體系 —— 比如一個商城項目的user表和admin表分開鑒權(quán)
  • 無Cookie模式 —— APP、小程序等前后臺分離場景
  • 注解式鑒權(quán) —— 優(yōu)雅的將鑒權(quán)與業(yè)務代碼分離
  • 花式token生成 —— 內(nèi)置六種token風格,還可自定義token生成策略
  • 自動續(xù)簽 —— 提供兩種token過期策略,靈活搭配使用,還可自動續(xù)簽
  • 組件自動注入 —— 零配置與Spring等框架集成
  • 更多功能正在集成中... —— 如有您有好想法或者建議,歡迎加群交流
  • ...

SpringBoot集成示例

1、創(chuàng)建項目

在IDE中新建一個Springboot項目,例如:sa-token-demo-springboot(不會的同學請自行百度或者參考github示例)

2、設(shè)置jar包依賴

  • 在 pom.xml 中添加依賴:
<!-- sa-token 權(quán)限認證, 在線文檔:http://sa-token.dev33.cn/ -->
<dependency>
    <groupId>cn.dev33</groupId>
    <artifactId>sa-token-spring-boot-starter</artifactId>
    <version>1.8.0</version>
</dependency>

3、配置文件

  • 你可以零配置啟動項目
  • 但同時你也可以在application.yml中增加如下配置,定制性使用框架:
spring: 
    # sa-token配置
    sa-token: 
        # token名稱 (同時也是cookie名稱)
        token-name: satoken
        # token有效期,單位s 默認30天, -1代表永不過期 
        timeout: 2592000
        # token臨時有效期 (指定時間內(nèi)無操作就視為token過期) 單位: 秒
        activity-timeout: -1
        # 是否允許同一賬號并發(fā)登錄 (為true時允許一起登錄, 為false時新登錄擠掉舊登錄) 
        allow-concurrent-login: false
        # 在多人登錄同一賬號時,是否共用一個token (為true時所有登錄共用一個token, 為false時每次登錄新建一個token) 
        is-share: false
        # token風格
        token-style: uuid
  • 如果你習慣于 application.properties 類型的配置文件,那也很好辦:

springboot properties與yml 配置文件的區(qū)別

4、創(chuàng)建主類

在項目中新建包 com.pj ,在此包內(nèi)新建主類 SaTokenDemoApplication.java,輸入以下代碼:

@SpringBootApplication
public class SaTokenDemoApplication {
    public static void main(String[] args) throws JsonProcessingException {
        SpringApplication.run(SaTokenDemoApplication.class, args); // run-->         
        System.out.println("啟動成功:sa-token配置如下:" + SaTokenManager.getConfig());
    }
}

5、運行

運行代碼,當你從控制臺看到類似下面的內(nèi)容時,就代表框架已經(jīng)成功集成了

倉庫地址

以上就是一文學會使用sa-token解決網(wǎng)站權(quán)限驗證的詳細內(nèi)容,更多關(guān)于sa-token網(wǎng)站權(quán)限驗證的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • springBoot 項目排除數(shù)據(jù)庫啟動方式

    springBoot 項目排除數(shù)據(jù)庫啟動方式

    這篇文章主要介紹了springBoot 項目排除數(shù)據(jù)庫啟動方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java編程實現(xiàn)漢字按字母順序排序的方法示例

    Java編程實現(xiàn)漢字按字母順序排序的方法示例

    這篇文章主要介紹了Java編程實現(xiàn)漢字按字母順序排序的方法,結(jié)合具體實例形式分析了java編碼轉(zhuǎn)換及字母排序相關(guān)操作技巧,需要的朋友可以參考下
    2017-07-07
  • SpringBoot整合junit與Mybatis流程詳解

    SpringBoot整合junit與Mybatis流程詳解

    這篇文章主要介紹了SpringBoot整合第三方技術(shù),包括整合Junit、整合Mybatis,本文通過實例代碼相結(jié)合給大家介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • Java wait和notify虛假喚醒原理

    Java wait和notify虛假喚醒原理

    這篇文章主要介紹了Java wait和notify虛假喚醒,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • java微信server錄音下載到自己server

    java微信server錄音下載到自己server

    這篇文章主要為大家詳細介紹了java微信server錄音下載到自己server的相關(guān)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • java:json-path支持fastjson作為JSON解析提供者的技術(shù)實現(xiàn)方式

    java:json-path支持fastjson作為JSON解析提供者的技術(shù)實現(xiàn)方式

    json-path和fastjson都是Java中常用的JSON處理庫,json-path支持多種解析器,而fastjson具有高性能,通過擴展json-path,使其支持fastjson,可以在保持json-path強大功能的同時,享受fastjson的高性能優(yōu)勢
    2025-12-12
  • Java一個簡單的紅包生成算法

    Java一個簡單的紅包生成算法

    今天小編就為大家分享一篇關(guān)于Java一個簡單的紅包生成算法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 深入理解Java中的棧從入門到精通(超詳細)新手必看

    深入理解Java中的棧從入門到精通(超詳細)新手必看

    本文詳細介紹Java中棧的知識,先闡述棧的概念與后進先出特性,接著說明Java棧幀結(jié)構(gòu),還介紹了棧的應用、基本方法,以及基于數(shù)組、鏈表、隊列等的實現(xiàn)方式,感興趣的朋友跟隨小編一起看看吧
    2025-10-10
  • 解決FeignClient發(fā)送post請求異常的問題

    解決FeignClient發(fā)送post請求異常的問題

    這篇文章主要介紹了FeignClient發(fā)送post請求異常的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • MybatisPlus中靜態(tài)工具DB的實現(xiàn)

    MybatisPlus中靜態(tài)工具DB的實現(xiàn)

    本文主要介紹了使用MybatisPlus的Db靜態(tài)工具類來避免Service之間的循環(huán)依賴問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-12-12

最新評論

嘉祥县| 司法| 木里| 密山市| 清水县| 兴城市| 阿坝县| 顺义区| 新安县| 综艺| 凤台县| 南部县| 三都| 永吉县| 盐城市| 寿宁县| 广东省| 儋州市| 惠水县| 吐鲁番市| 衡阳市| 洪江市| 黄冈市| 天气| 原阳县| 那曲县| 梁河县| 石屏县| 罗江县| 桐乡市| 交城县| 贺州市| 苍南县| 东山县| 翁源县| 台安县| 金溪县| 蕲春县| 惠东县| 巩留县| 普兰店市|