From d0fe6f34627970b01b0ad02c5e012c16b416cf7d Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Fri, 10 Jul 2020 15:53:34 +0800
Subject: [PATCH] 权限配置自动注册

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysConfigController.java               |    1 -
 ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/MethodSecurityConfig.java |   27 +++++++++++++++++++++++++++
 ruoyi-common/ruoyi-common-security/src/main/resources/META-INF/spring.factories                             |    2 ++
 3 files changed, 29 insertions(+), 1 deletions(-)

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 0000000..07fabf3
--- /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 e9dd391..e569c12 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 92a08c8..35bb1cc 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 @@
     /**
      * 根据参数编号获取详细信息
      */
-    @PreAuthorize("@ss.hasRole('admin')")
     @GetMapping(value = "/{configId}")
     public AjaxResult getInfo(@PathVariable Long configId)
     {

--
Gitblit v1.9.3