欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

sa-token整合springboot中的代碼示例展示

 更新時間:2024年04月25日 10:16:26   作者:xxq121389527  
sa-token?是一個輕量級的 Java 權(quán)限認(rèn)證框架,它可以很方便地集成到 Spring Boot 項目中,以提供簡潔的認(rèn)證和授權(quán)功能,這篇文章主要介紹了sa-token整合springboot中的代碼示例展示,需要的朋友可以參考下

sa-token 是一個輕量級的 Java 權(quán)限認(rèn)證框架,它可以很方便地集成到 Spring Boot 項目中,以提供簡潔的認(rèn)證和授權(quán)功能。雖然 sa-token 本身并不直接支持 OAuth 2.0 的集成,但你可以將 OAuth 2.0 的認(rèn)證流程與 sa-token 的權(quán)限控制結(jié)合起來使用。

以下是一個簡單的示例,展示了如何將 sa-token 整合到 Spring Boot 項目中:

添加 sa-token 的依賴到你的 pom.xml 文件中:

<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot-starter</artifactId>
<version>最新版本</version>
</dependency>

確保你使用的是最新的 sa-token 版本。

  • 在 application.yml 或 application.properties 中配置 sa-token
# application.yml 示例
sa-token:
token-name: Authorization # token名稱 (header中key)
token-type: bearer # token類型 (header中value的前綴)
timeout: 3600 # token 過期時間, 單位秒
activity-timeout: -1 # 臨時token有效時間, 單位秒,-1表示永不過期
is-concurrent: true # 是否允許同一賬號并發(fā)登錄, 默認(rèn)false
is-share: false # 在多個服務(wù)之間共享token時,需要設(shè)置為true
  • 創(chuàng)建一個配置類來初始化 sa-token
import cn.dev33.satoken.context.SaHolder;
import cn.dev33.satoken.filter.SaTokenFilter;
import cn.dev33.satoken.integration.springboot.SaTokenAutoConfiguration;
import cn.dev33.satoken.integration.springboot.properties.SaTokenProperties;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@AutoConfigureAfter(SaTokenAutoConfiguration.class)
public class SaTokenConfig {
@Bean
@ConditionalOnMissingBean
public SaTokenFilter saTokenFilter(SaTokenProperties saTokenProperties) {
return new SaTokenFilter(saTokenProperties);
}
// 你可以在這里添加自定義的 SaToken 初始化代碼
// 例如:設(shè)置全局的權(quán)限驗證規(guī)則、登錄驗證處理等
@Bean
public void initSaToken() {
// 初始化 Sa-Token,并設(shè)置全局的權(quán)限驗證規(guī)則
SaHolder.setGlobalAuthHandler((request, response, exception) -> {
// 這里可以自定義全局的權(quán)限驗證邏輯
// 例如:返回自定義的未授權(quán)提示信息
response.setContentType("application/json;charset=UTF-8");
response.getWriter().write("{\"code\":401,\"msg\":\"未授權(quán)\"}");
response.getWriter().flush();
response.getWriter().close();
});
}
}
  • 在你的 Controller 中使用 sa-token 提供的注解來進行權(quán)限控制:
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaCheckRole;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@GetMapping("/needPermission")
@SaCheckPermission("permission1") // 這里會校驗用戶是否具有 permission1 權(quán)限
public String needPermission() {
return "you have permission1";
}
@GetMapping("/needRole")
@SaCheckRole("admin") // 這里會校驗用戶是否具有 admin 角色
public String needRole() {
return "you are admin";
}
}

到此這篇關(guān)于sa-token整合springboot中的代碼的文章就介紹到這了,更多相關(guān)sa-token整合springboot內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文詳解如何在Java?Maven項目中使用JUnit?5進行測試

    一文詳解如何在Java?Maven項目中使用JUnit?5進行測試

    這篇文章主要介紹了如何在Java?Maven項目中使用JUnit?5進行測試的相關(guān)資料,JUnit5是一個流行的Java測試框架,它涵蓋了JUnit5的概述、環(huán)境配置、編寫測試用例、運行測試、高級特性和最佳實踐,需要的朋友可以參考下
    2025-04-04
  • Java設(shè)計模式之享元模式示例詳解

    Java設(shè)計模式之享元模式示例詳解

    享元模式(FlyWeight?Pattern),也叫蠅量模式,運用共享技術(shù),有效的支持大量細(xì)粒度的對象,享元模式就是池技術(shù)的重要實現(xiàn)方式。本文將通過示例詳細(xì)講解享元模式,感興趣的可以了解一下
    2022-03-03
  • SpringCloud安裝Nacos完成配置中心

    SpringCloud安裝Nacos完成配置中心

    如果不滿足上篇文章的eureka注冊中心,那么本文記錄的Nacos是不二之選。本文主要記錄Springboot基于Nacos實現(xiàn)配置中心
    2022-07-07
  • NameNode?重啟恢復(fù)數(shù)據(jù)的流程詳解

    NameNode?重啟恢復(fù)數(shù)據(jù)的流程詳解

    這篇文章主要為大家介紹了NameNode?重啟恢復(fù)數(shù)據(jù)的流程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • java如何實現(xiàn)判斷文件的真實類型

    java如何實現(xiàn)判斷文件的真實類型

    本篇文章主要介紹了java如何實現(xiàn)判斷文件的真實類型,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • 使用Java實現(xiàn)2048小游戲代碼實例

    使用Java實現(xiàn)2048小游戲代碼實例

    這篇文章主要介紹了使用Java實現(xiàn)2048小游戲代碼實例,2048 游戲是一款益智類游戲,玩家需要通過合并相同數(shù)字的方塊,不斷合成更大的數(shù)字,最終達(dá)到2048,游戲規(guī)則簡單,但挑戰(zhàn)性很高,需要玩家靈活運用策略和計算能力,本文將使用Java代碼實現(xiàn),需要的朋友可以參考下
    2023-10-10
  • Java 詳細(xì)講解線程安全與同步附實例與注釋

    Java 詳細(xì)講解線程安全與同步附實例與注釋

    線程安全是多線程編程時的計算機程序代碼中的一個概念。在擁有共享數(shù)據(jù)的多條線程并行執(zhí)行的程序中,線程安全的代碼會通過同步機制保證各個線程都可以正常且正確的執(zhí)行,不會出現(xiàn)數(shù)據(jù)污染等意外情況
    2022-04-04
  • Java OpenCV圖像處理之背景消除

    Java OpenCV圖像處理之背景消除

    GMM(高斯混合模型)是基于像素樣本統(tǒng)計信息的背景表示方法,利用像素在較長時間內(nèi)大量樣本值的概率密度等統(tǒng)計信息表示別境,然后使用統(tǒng)計差分進行目標(biāo)像素判斷達(dá)到預(yù)期效果。本文將利用GMM方法實現(xiàn)圖像背景消除,需要的可以參考一下
    2022-02-02
  • 詳解spring Boot 集成 Thymeleaf模板引擎實例

    詳解spring Boot 集成 Thymeleaf模板引擎實例

    本篇文章主要介紹了spring Boot 集成 Thymeleaf模板引擎實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • SpringBoot實現(xiàn)啟動類的存放位置

    SpringBoot實現(xiàn)啟動類的存放位置

    這篇文章主要介紹了SpringBoot實現(xiàn)啟動類的存放位置,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01

最新評論