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

This commit is contained in:
Luke Taylor 2008-01-28 16:05:39 +00:00
parent 26ea65ddb1
commit 934e59a562

View File

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