| 
					
				 | 
			
			
				@@ -0,0 +1,37 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+package org.acegisecurity.config; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.acegisecurity.providers.dao.DaoAuthenticationProvider; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.acegisecurity.userdetails.UserDetailsService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.beans.BeansException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.beans.factory.config.BeanFactoryPostProcessor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.beans.factory.config.RuntimeBeanReference; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.beans.factory.support.RootBeanDefinition; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @author vpuri 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class AuthenticationRepositoryDependenciesConfigurer implements BeanFactoryPostProcessor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		System.out.println("whyyyy??????"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		String[] userDetailServices = beanFactory.getBeanNamesForType(UserDetailsService.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		String[] authenticationProvider = beanFactory.getBeanNamesForType(DaoAuthenticationProvider.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		RootBeanDefinition definition = (RootBeanDefinition) beanFactory.getBeanDefinition(authenticationProvider[0]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// there should be only one principal-repository defined, pick the first 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// one 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (userDetailServices.length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			definition.getPropertyValues().addPropertyValue("userDetailsService", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					new RuntimeBeanReference(userDetailServices[0])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |