關(guān)于SaCheckPermission權(quán)限校驗(yàn)注解
SaCheckPermission權(quán)限校驗(yàn)注解
在若依框架(RuoYi)的前后端分離版4.8.x中,SaCheckPermission 注解用于權(quán)限校驗(yàn)。
這個注解可以應(yīng)用在方法上,以確保只有具有相應(yīng)權(quán)限的用戶才能訪問該方法。
在控制器中使用SaCheckPermission注解的示例
import com.ruoyi.common.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
?
@RestController
@RequestMapping("/api")
public class MyController {
?
@GetMapping("/test")
@SaCheckPermission("user:view")
public String test() {
return "Hello, world!";
}
}在這個示例中,
@SaCheckPermission("user:view") 注解表示只有具有 user:view 權(quán)限的用戶才能訪問 /api/test 接口。
若依框架的權(quán)限校驗(yàn)是基于 Spring Security 實(shí)現(xiàn)的,因此需要在項(xiàng)目中引入 Spring Security 相關(guān)依賴,并配置相應(yīng)的安全策略。
在pom.xml文件
中添加 Spring Security 依賴的示例:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>在application.yml或application.properties文件
配置 Spring Security 相關(guān)設(shè)置:
spring:
security:
user:
name: admin
password: 123456在項(xiàng)目中創(chuàng)建一個配置類
繼承 WebSecurityConfigurerAdapter,并重寫 configure 方法,配置權(quán)限校驗(yàn)策略:
import com.ruoyi.framework.web.config.SaReactiveConfigurer;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity;
import org.springframework.security.config.web.server.ServerHttpSecurity;
?
@Configuration
@EnableWebFluxSecurity
public class SecurityConfig extends SaReactiveConfigurer {
?
@Override
protected void configure(ServerHttpSecurity http) throws Exception {
super.configure(http);
// 在這里配置權(quán)限校驗(yàn)策略
}
}這樣,當(dāng)用戶嘗試訪問帶有 SaCheckPermission 注解的方法時(shí),若依框架會自動進(jìn)行權(quán)限校驗(yàn)。
如果用戶具有相應(yīng)的權(quán)限,則允許訪問;否則,返回 403 Forbidden 錯誤。
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java中增強(qiáng)for循環(huán)的實(shí)現(xiàn)原理和坑詳解
增強(qiáng)的for循環(huán)是在傳統(tǒng)的for循環(huán)中增加的強(qiáng)大的迭代功能的循環(huán),是在jdk1.5之后提出來的。下面這篇文章主要給大家介紹了關(guān)于Java中增強(qiáng)for循環(huán)的實(shí)現(xiàn)原理和坑的相關(guān)資料,需要的朋友可以參考下2018-04-04
Java?超詳細(xì)講解Spring?MVC異常處理機(jī)制
Spring?MVC中提供了一個通用的異常處理機(jī)制,它提供了一個成熟、簡潔并且清晰的異常處理方案。當(dāng)使用Spring?MVC開發(fā)Web應(yīng)用時(shí),利用這套現(xiàn)成的機(jī)制進(jìn)行異常處理也更加自然并且高效2022-04-04
淺談springboot項(xiàng)目中定時(shí)任務(wù)如何優(yōu)雅退出
這篇文章主要介紹了淺談springboot項(xiàng)目中定時(shí)任務(wù)如何優(yōu)雅退出?具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
SpringSecurity從數(shù)據(jù)庫中獲取用戶信息進(jìn)行驗(yàn)證的案例詳解
這篇文章主要介紹了SpringSecurity從數(shù)據(jù)庫中獲取用戶信息進(jìn)行驗(yàn)證的案例詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
Java策略模式的簡單應(yīng)用實(shí)現(xiàn)方法
這篇文章主要介紹了Java策略模式的簡單應(yīng)用實(shí)現(xiàn)方法,需要的朋友可以參考下2014-02-02

