Kaynağa Gözat

权限验证拦截修改

gaodm 6 yıl önce
ebeveyn
işleme
a6d1bdfeef

+ 18 - 13
bi-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -25,20 +25,11 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
     public void decide(Authentication authentication, Object object, Collection<ConfigAttribute> configAttributes) throws AccessDeniedException, InsufficientAuthenticationException {
         HttpServletRequest request = ((FilterInvocation) object).getHttpRequest();
         String url, method;
+        if (matchPermitAllUrl(request)) {
+            return;
+        }
         if ("anonymousUser".equals(authentication.getPrincipal())) {
-            if (matchers("/swagger/**", request)
-                    || matchers("/v2/**", request)
-                    || matchers("/swagger-ui.html/**", request)
-                    || matchers("/swagger-resources/**", request)
-                    || matchers("/webjars/**", request)
-                    || matchers("/druid/**", request)
-                    || matchers("/actuator/**", request)
-                    || matchers("/hystrix/**", request)
-                    || matchers("/", request)) {
-                return;
-            } else {
-                throw new AccessDeniedException("no right");
-            }
+            throw new AccessDeniedException("no right");
         } else {
             for (GrantedAuthority ga : authentication.getAuthorities()) {
                 String[] authority = ga.getAuthority().split(";");
@@ -65,6 +56,20 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
         return true;
     }
 
+    private Boolean matchPermitAllUrl(HttpServletRequest request){
+        if (matchers("/swagger/**", request)
+                || matchers("/v2/**", request)
+                || matchers("/swagger-ui.html/**", request)
+                || matchers("/swagger-resources/**", request)
+                || matchers("/webjars/**", request)
+                || matchers("/druid/**", request)
+                || matchers("/actuator/**", request)
+                || matchers("/hystrix/**", request)
+                || matchers("/", request)) {
+            return true;
+        }
+        return false;
+    }
 
     private boolean matchers(String url, HttpServletRequest request) {
         AntPathRequestMatcher matcher = new AntPathRequestMatcher(url);

+ 23 - 18
diagbotman-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -25,24 +25,11 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
     public void decide(Authentication authentication, Object object, Collection<ConfigAttribute> configAttributes) throws AccessDeniedException, InsufficientAuthenticationException {
         HttpServletRequest request = ((FilterInvocation) object).getHttpRequest();
         String url, method;
-        if ("anonymousUser".equals(authentication.getPrincipal())){
-            if (matchers("/swagger/**", request)
-                    || matchers("/v2/**", request)
-                    || matchers("/swagger-ui.html/**", request)
-                    || matchers("/swagger-resources/**", request)
-                    || matchers("/webjars/**", request)
-                    || matchers("/druid/**", request)
-                    || matchers("/actuator/**", request)
-                    || matchers("/hystrix/**", request)
-                    || matchers("/getDiagbotManEnumsData", request)
-                    || matchers("/service_filter/getAll", request)
-                    || matchers("/serviceToken/hasPermission", request)
-                    || matchers("/productOrder/getInformationAvailableAll", request)
-                    || matchers("/", request)) {
-                return;
-            } else {
-                throw new AccessDeniedException("no right");
-            }
+        if (matchPermitAllUrl(request)) {
+            return;
+        }
+        if ("anonymousUser".equals(authentication.getPrincipal())) {
+            throw new AccessDeniedException("no right");
         } else {
             for (GrantedAuthority ga : authentication.getAuthorities()) {
                 String[] authority = ga.getAuthority().split(";");
@@ -69,6 +56,24 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
         return true;
     }
 
+    private Boolean matchPermitAllUrl(HttpServletRequest request){
+        if (matchers("/swagger/**", request)
+                || matchers("/v2/**", request)
+                || matchers("/swagger-ui.html/**", request)
+                || matchers("/swagger-resources/**", request)
+                || matchers("/webjars/**", request)
+                || matchers("/druid/**", request)
+                || matchers("/actuator/**", request)
+                || matchers("/hystrix/**", request)
+                || matchers("/getDiagbotManEnumsData", request)
+                || matchers("/service_filter/getAll", request)
+                || matchers("/serviceToken/hasPermission", request)
+                || matchers("/productOrder/getInformationAvailableAll", request)
+                || matchers("/", request)) {
+            return true;
+        }
+        return false;
+    }
 
     private boolean matchers(String url, HttpServletRequest request) {
         AntPathRequestMatcher matcher = new AntPathRequestMatcher(url);

+ 18 - 13
feedback-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -25,20 +25,11 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
     public void decide(Authentication authentication, Object object, Collection<ConfigAttribute> configAttributes) throws AccessDeniedException, InsufficientAuthenticationException {
         HttpServletRequest request = ((FilterInvocation) object).getHttpRequest();
         String url, method;
+        if (matchPermitAllUrl(request)) {
+            return;
+        }
         if ("anonymousUser".equals(authentication.getPrincipal())) {
-            if (matchers("/swagger/**", request)
-                    || matchers("/v2/**", request)
-                    || matchers("/swagger-ui.html/**", request)
-                    || matchers("/swagger-resources/**", request)
-                    || matchers("/webjars/**", request)
-                    || matchers("/druid/**", request)
-                    || matchers("/actuator/**", request)
-                    || matchers("/hystrix/**", request)
-                    || matchers("/", request)) {
-                return;
-            } else {
-                throw new AccessDeniedException("no right");
-            }
+            throw new AccessDeniedException("no right");
         } else {
             for (GrantedAuthority ga : authentication.getAuthorities()) {
                 String[] authority = ga.getAuthority().split(";");
@@ -65,6 +56,20 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
         return true;
     }
 
+    private Boolean matchPermitAllUrl(HttpServletRequest request){
+        if (matchers("/swagger/**", request)
+                || matchers("/v2/**", request)
+                || matchers("/swagger-ui.html/**", request)
+                || matchers("/swagger-resources/**", request)
+                || matchers("/webjars/**", request)
+                || matchers("/druid/**", request)
+                || matchers("/actuator/**", request)
+                || matchers("/hystrix/**", request)
+                || matchers("/", request)) {
+            return true;
+        }
+        return false;
+    }
 
     private boolean matchers(String url, HttpServletRequest request) {
         AntPathRequestMatcher matcher = new AntPathRequestMatcher(url);

+ 18 - 13
knowledge-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -25,20 +25,11 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
     public void decide(Authentication authentication, Object object, Collection<ConfigAttribute> configAttributes) throws AccessDeniedException, InsufficientAuthenticationException {
         HttpServletRequest request = ((FilterInvocation) object).getHttpRequest();
         String url, method;
+        if (matchPermitAllUrl(request)) {
+            return;
+        }
         if ("anonymousUser".equals(authentication.getPrincipal())) {
-            if (matchers("/swagger/**", request)
-                    || matchers("/v2/**", request)
-                    || matchers("/swagger-ui.html/**", request)
-                    || matchers("/swagger-resources/**", request)
-                    || matchers("/webjars/**", request)
-                    || matchers("/druid/**", request)
-                    || matchers("/actuator/**", request)
-                    || matchers("/hystrix/**", request)
-                    || matchers("/", request)) {
-                return;
-            } else {
-                throw new AccessDeniedException("no right");
-            }
+            throw new AccessDeniedException("no right");
         } else {
             for (GrantedAuthority ga : authentication.getAuthorities()) {
                 String[] authority = ga.getAuthority().split(";");
@@ -65,6 +56,20 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
         return true;
     }
 
+    private Boolean matchPermitAllUrl(HttpServletRequest request){
+        if (matchers("/swagger/**", request)
+                || matchers("/v2/**", request)
+                || matchers("/swagger-ui.html/**", request)
+                || matchers("/swagger-resources/**", request)
+                || matchers("/webjars/**", request)
+                || matchers("/druid/**", request)
+                || matchers("/actuator/**", request)
+                || matchers("/hystrix/**", request)
+                || matchers("/", request)) {
+            return true;
+        }
+        return false;
+    }
 
     private boolean matchers(String url, HttpServletRequest request) {
         AntPathRequestMatcher matcher = new AntPathRequestMatcher(url);

+ 18 - 13
log-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -25,20 +25,11 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
     public void decide(Authentication authentication, Object object, Collection<ConfigAttribute> configAttributes) throws AccessDeniedException, InsufficientAuthenticationException {
         HttpServletRequest request = ((FilterInvocation) object).getHttpRequest();
         String url, method;
+        if (matchPermitAllUrl(request)) {
+            return;
+        }
         if ("anonymousUser".equals(authentication.getPrincipal())) {
-            if (matchers("/swagger/**", request)
-                    || matchers("/v2/**", request)
-                    || matchers("/swagger-ui.html/**", request)
-                    || matchers("/swagger-resources/**", request)
-                    || matchers("/webjars/**", request)
-                    || matchers("/druid/**", request)
-                    || matchers("/actuator/**", request)
-                    || matchers("/hystrix/**", request)
-                    || matchers("/", request)) {
-                return;
-            } else {
-                throw new AccessDeniedException("no right");
-            }
+            throw new AccessDeniedException("no right");
         } else {
             for (GrantedAuthority ga : authentication.getAuthorities()) {
                 String[] authority = ga.getAuthority().split(";");
@@ -65,6 +56,20 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
         return true;
     }
 
+    private Boolean matchPermitAllUrl(HttpServletRequest request){
+        if (matchers("/swagger/**", request)
+                || matchers("/v2/**", request)
+                || matchers("/swagger-ui.html/**", request)
+                || matchers("/swagger-resources/**", request)
+                || matchers("/webjars/**", request)
+                || matchers("/druid/**", request)
+                || matchers("/actuator/**", request)
+                || matchers("/hystrix/**", request)
+                || matchers("/", request)) {
+            return true;
+        }
+        return false;
+    }
 
     private boolean matchers(String url, HttpServletRequest request) {
         AntPathRequestMatcher matcher = new AntPathRequestMatcher(url);