关于SaCheckPermission权限校验注解

 更新时间:2024年11月12日 10:03:39   作者:L__I__N__  
在若依框架(RuoYi)的前后端分离版4.8.x中,SaCheckPermission注解用于权限校验,这个注解可以应用在方法上,以确保只有具有相应权限的用户才能访问该方法

SaCheckPermission权限校验注解

在若依框架(RuoYi)的前后端分离版4.8.x中,SaCheckPermission 注解用于权限校验。

这个注解可以应用在方法上,以确保只有具有相应权限的用户才能访问该方法。

在控制器中使用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 权限的用户才能访问 /api/test 接口。

若依框架的权限校验是基于 Spring Security 实现的,因此需要在项目中引入 Spring Security 相关依赖,并配置相应的安全策略。

在pom.xml文件

中添加 Spring Security 依赖的示例:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

在application.yml或application.properties文件

配置 Spring Security 相关设置:

spring:
  security:
    user:
      name: admin
      password: 123456

在项目中创建一个配置类

继承 WebSecurityConfigurerAdapter,并重写 configure 方法,配置权限校验策略:

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);
        // 在这里配置权限校验策略
    }
}

这样,当用户尝试访问带有 SaCheckPermission 注解的方法时,若依框架会自动进行权限校验。

如果用户具有相应的权限,则允许访问;否则,返回 403 Forbidden 错误。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • springboot实现文件上传和下载功能

    springboot实现文件上传和下载功能

    这篇文章主要为大家详细介绍了springboot实现文件上传和下载功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • SpringBoot+Querydsl 框架实现复杂查询解析

    SpringBoot+Querydsl 框架实现复杂查询解析

    本篇主要将介绍的是利用spring query dsl框架实现的服务端查询解析和实现介绍,对SpringBoot Querydsl 查询操作感兴趣的朋友一起看看吧
    2022-05-05
  • 使用eclipse + maven一步步搭建SSM框架教程详解

    使用eclipse + maven一步步搭建SSM框架教程详解

    SSM(Spring+SpringMVC+MyBatis)框架集由Spring、SpringMVC、MyBatis三个开源框架整合而成,常作为数据源较简单的web项目的框架.这篇文章主要介绍了eclipse + maven搭建SSM框架 ,需要的朋友可以参考下
    2017-11-11
  • Java实战之网上书店管理系统的实现

    Java实战之网上书店管理系统的实现

    本文将利用Java语言实现网上书店管理系统。其功能一般包括:图书信息管理、用户信息管理、图书购买、图书订单查看、图书添加、图书维护等等,感兴趣的可以了解一下
    2022-06-06
  • SpringBoot项目实用功能之实现自定义参数解析器

    SpringBoot项目实用功能之实现自定义参数解析器

    这篇文章主要介绍了SpringBoot项目实用功能之实现自定义参数解析器,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • springboot整合httpClient代码实例

    springboot整合httpClient代码实例

    这篇文章主要介绍了springboot整合httpClient代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Java通用Mapper UUID简单示例

    Java通用Mapper UUID简单示例

    今天小编就为大家分享一篇关于Java通用Mapper UUID简单示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • 序列化版本号serialVersionUID的作用_动力节点Java学院整理

    序列化版本号serialVersionUID的作用_动力节点Java学院整理

    Java序列化是将一个对象编码成一个字节流,反序列化将字节流编码转换成一个对象,这篇文章主要介绍了序列化版本号serialVersionUID的作用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Map集合中获取key-value值的实现方法

    Map集合中获取key-value值的实现方法

    这篇文章主要介绍了Map集合中获取key-value值的实现方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • SpringBoot通过tractId操作日志链路跟踪

    SpringBoot通过tractId操作日志链路跟踪

    这篇文章给大家介绍SpringBoot通过tractId操作日志链路跟踪,通过tractId,即可完成对从一个请求进入系统到请求结束的日志追踪,本文给大家介绍的非常详细,需要的朋友参考下吧
    2023-10-10

最新评论