Bladeren bron

SEC-652: Fixed CasAuthenticationProvider to be compatible with Ray's recent AuthoritiesPopulator refactoring.

Luke Taylor 17 jaren geleden
bovenliggende
commit
934e59a562

+ 24 - 22
core/src/main/java/org/springframework/security/providers/cas/CasAuthenticationProvider.java

@@ -22,6 +22,7 @@ import org.springframework.security.BadCredentialsException;
 
 import org.springframework.security.providers.AuthenticationProvider;
 import org.springframework.security.providers.UsernamePasswordAuthenticationToken;
+import org.springframework.security.providers.AuthoritiesPopulator;
 import org.springframework.security.providers.cas.cache.NullStatelessTicketCache;
 
 import org.springframework.security.ui.cas.CasProcessingFilter;
@@ -42,10 +43,12 @@ import org.springframework.util.Assert;
 
 /**
  * An {@link AuthenticationProvider} implementation that integrates with JA-SIG Central Authentication Service
- * (CAS).<p>This <code>AuthenticationProvider</code> is capable of validating  {@link
- * UsernamePasswordAuthenticationToken} requests which contain a <code>principal</code> name equal to either {@link
- * CasProcessingFilter#CAS_STATEFUL_IDENTIFIER} or {@link CasProcessingFilter#CAS_STATELESS_IDENTIFIER}. It can also
- * validate a previously created {@link CasAuthenticationToken}.</p>
+ * (CAS).
+ * <p>
+ * This <code>AuthenticationProvider</code> is capable of validating  {@link UsernamePasswordAuthenticationToken}
+ * requests which contain a <code>principal</code> name equal to either
+ * {@link CasProcessingFilter#CAS_STATEFUL_IDENTIFIER} or {@link CasProcessingFilter#CAS_STATELESS_IDENTIFIER}.
+ * It can also validate a previously created {@link CasAuthenticationToken}.
  *
  * @author Ben Alex
  * @version $Id$
@@ -57,7 +60,7 @@ public class CasAuthenticationProvider implements AuthenticationProvider, Initia
 
     //~ Instance fields ================================================================================================
 
-    private CasAuthoritiesPopulator casAuthoritiesPopulator;
+    private AuthoritiesPopulator casAuthoritiesPopulator;
     private CasProxyDecider casProxyDecider;
     protected MessageSourceAccessor messages = SpringSecurityMessageSource.getAccessor();
     private StatelessTicketCache statelessTicketCache = new NullStatelessTicketCache();
@@ -75,8 +78,7 @@ public class CasAuthenticationProvider implements AuthenticationProvider, Initia
         Assert.notNull(this.messages, "A message source must be set");
     }
 
-    public Authentication authenticate(Authentication authentication)
-        throws AuthenticationException {
+    public Authentication authenticate(Authentication authentication) throws AuthenticationException {
         if (!supports(authentication.getClass())) {
             return null;
         }
@@ -146,36 +148,36 @@ public class CasAuthenticationProvider implements AuthenticationProvider, Initia
             userDetails.getAuthorities(), userDetails, response.getProxyList(), response.getProxyGrantingTicketIou());
     }
 
-    public CasAuthoritiesPopulator getCasAuthoritiesPopulator() {
+    protected AuthoritiesPopulator getCasAuthoritiesPopulator() {
         return casAuthoritiesPopulator;
     }
 
-    public CasProxyDecider getCasProxyDecider() {
-        return casProxyDecider;
+    public void setCasAuthoritiesPopulator(AuthoritiesPopulator casAuthoritiesPopulator) {
+        this.casAuthoritiesPopulator = casAuthoritiesPopulator;
     }
 
-    public String getKey() {
-        return key;
+    public CasProxyDecider getCasProxyDecider() {
+        return casProxyDecider;
     }
 
-    public StatelessTicketCache getStatelessTicketCache() {
-        return statelessTicketCache;
+    public void setCasProxyDecider(CasProxyDecider casProxyDecider) {
+        this.casProxyDecider = casProxyDecider;
     }
 
-    public TicketValidator getTicketValidator() {
-        return ticketValidator;
+    protected String getKey() {
+        return key;
     }
 
-    public void setCasAuthoritiesPopulator(CasAuthoritiesPopulator casAuthoritiesPopulator) {
-        this.casAuthoritiesPopulator = casAuthoritiesPopulator;
+    public void setKey(String key) {
+        this.key = key;
     }
 
-    public void setCasProxyDecider(CasProxyDecider casProxyDecider) {
-        this.casProxyDecider = casProxyDecider;
+    public StatelessTicketCache getStatelessTicketCache() {
+        return statelessTicketCache;
     }
 
-    public void setKey(String key) {
-        this.key = key;
+    protected TicketValidator getTicketValidator() {
+        return ticketValidator;
     }
 
     public void setMessageSource(MessageSource messageSource) {