|
@@ -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);
|