소스 검색

SEC-999: Fix broken test which was failing due to use of incorrect authentication object.

Luke Taylor 17 년 전
부모
커밋
a207acf7cb
1개의 변경된 파일8개의 추가작업 그리고 1개의 파일을 삭제
  1. 8 1
      core/src/main/java/org/springframework/security/expression/SecurityExpressionRoot.java

+ 8 - 1
core/src/main/java/org/springframework/security/expression/SecurityExpressionRoot.java

@@ -4,6 +4,7 @@ import java.util.Set;
 
 import org.springframework.security.Authentication;
 import org.springframework.security.AuthenticationTrustResolver;
+import org.springframework.security.GrantedAuthority;
 import org.springframework.security.util.AuthorityUtils;
 
 /**
@@ -41,7 +42,13 @@ public class SecurityExpressionRoot {
     }
 
     public final boolean hasRole(String role) {
-        return AuthorityUtils.userHasAuthority(role);
+        for (GrantedAuthority authority : authentication.getAuthorities()) {
+            if (role.equals(authority.getAuthority())) {
+                return true;
+            }
+        }
+
+        return false;
     }
 
     public final boolean hasAnyRole(String... roles) {