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