From 698ac32237a65afd969eb06b8261099d7d4e7664 Mon Sep 17 00:00:00 2001 From: RuoYi Date: Fri, 10 Jul 2020 15:53:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=83=E9=99=90=E9=85=8D=E7=BD=AE=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E6=B3=A8=E5=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../security/config/MethodSecurityConfig.java | 27 +++++++++++++++++++ .../main/resources/META-INF/spring.factories | 2 ++ .../controller/SysConfigController.java | 1 - 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/MethodSecurityConfig.java diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/MethodSecurityConfig.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/MethodSecurityConfig.java new file mode 100644 index 00000000..07fabf32 --- /dev/null +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/MethodSecurityConfig.java @@ -0,0 +1,27 @@ +package com.ruoyi.common.security.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; + +/** + * + * @EnableGlobalMethodSecurity(securedEnabled=true) + * 开启@Secured 注解过滤权限 + * + * @EnableGlobalMethodSecurity(jsr250Enabled=true) + * 开启@RolesAllowed 注解过滤权限 + * + * @EnableGlobalMethodSecurity(prePostEnabled=true) + * 使用表达式时间方法级别的安全性 4个注解可用 + * -@PreAuthorize 在方法调用之前,基于表达式的计算结果来限制对方法的访问 + * -@PostAuthorize 允许方法调用,但是如果表达式计算结果为false,将抛出一个安全性异常 + * -@PostFilter 允许方法调用,但必须按照表达式来过滤方法的结果 + * -@PreFilter 允许方法调用,但必须在进入方法之前过滤输入值 + * + */ +@Configuration +@EnableGlobalMethodSecurity(prePostEnabled = true) +public class MethodSecurityConfig +{ + +} diff --git a/ruoyi-common/ruoyi-common-security/src/main/resources/META-INF/spring.factories b/ruoyi-common/ruoyi-common-security/src/main/resources/META-INF/spring.factories index e9dd391e..e569c125 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/resources/META-INF/spring.factories +++ b/ruoyi-common/ruoyi-common-security/src/main/resources/META-INF/spring.factories @@ -1,5 +1,7 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.ruoyi.common.security.service.UserDetailsServiceImpl,\ + com.ruoyi.common.security.service.PermissionService,\ + com.ruoyi.common.security.config.MethodSecurityConfig,\ com.ruoyi.common.security.handler.CustomAccessDeniedHandler,\ com.ruoyi.common.security.handler.GlobalExceptionHandler diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysConfigController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysConfigController.java index 92a08c8f..35bb1cc4 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysConfigController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysConfigController.java @@ -62,7 +62,6 @@ public class SysConfigController extends BaseController /** * 根据参数编号获取详细信息 */ - @PreAuthorize("@ss.hasRole('admin')") @GetMapping(value = "/{configId}") public AjaxResult getInfo(@PathVariable Long configId) {