Explorar el Código

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

Luke Taylor hace 17 años
padre
commit
a207acf7cb

+ 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) {