Explorar o código

添加权限预加载信息变动切面

rengb %!s(int64=3) %!d(string=hai) anos
pai
achega
f29c2b78cf

+ 1 - 2
dblayer-mbg/src/main/java/com/lantone/dblayermbg/facade/ResourceFacade.java

@@ -7,7 +7,6 @@ import com.lantone.common.enums.StatusEnum;
 import com.lantone.common.service.RedisService;
 import com.lantone.dblayermbg.service.impl.ResourceServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Component;
 
 import java.util.Arrays;
@@ -24,7 +23,7 @@ public class ResourceFacade extends ResourceServiceImpl {
 
     @Autowired
     private RedisService redisService;
-    @Async
+
     public Map<String, List<String>> initResourceRolesMap() {
         Map<String, List<String>> resourceRolesMap = Maps.newHashMap();
         List<String> resourceRolesList = baseMapper.getResourceRolesMap(IsDeleteEnum.N.getKey(), StatusEnum.Enable.getKey());

+ 35 - 0
security-center/src/main/java/com/lantone/security/aop/ResourceRoleRulesAspect.java

@@ -0,0 +1,35 @@
+package com.lantone.security.aop;
+
+import com.lantone.dblayermbg.facade.ResourceFacade;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.After;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description: 资源与角色访问对应关系信息变更统一处理切面
+ * @author: rengb
+ * @time: 2021/8/26 10:43
+ */
+@Aspect
+@Component
+public class ResourceRoleRulesAspect {
+
+    @Autowired
+    private ResourceFacade resourceFacade;
+
+    @Pointcut("execution(public * com.lantone.security.web.RoleManagementController.addRole(..))" +
+            "||execution(public * com.lantone.security.web.RoleManagementController.deleteRole(..))" +
+            "||execution(public * com.lantone.security.web.RoleManagementController.disableRole(..))" +
+            "||execution(public * com.lantone.security.web.RoleManagementController.updateRole(..))")
+    public void basicInfoChange() {
+    }
+
+    @After("basicInfoChange()")
+    public void aspectAfter(JoinPoint joinPoint) throws Throwable {
+        resourceFacade.initResourceRolesMap();
+    }
+
+}