1 changed files with 0 additions and 46 deletions
@ -1,46 +0,0 @@
@@ -1,46 +0,0 @@
|
||||
package org.springframework.security.config.authentication; |
||||
|
||||
import java.util.ArrayList; |
||||
|
||||
import org.springframework.beans.factory.config.BeanDefinition; |
||||
import org.springframework.beans.factory.parsing.BeanComponentDefinition; |
||||
import org.springframework.beans.factory.support.RootBeanDefinition; |
||||
import org.springframework.beans.factory.xml.ParserContext; |
||||
import org.springframework.security.config.BeanIds; |
||||
import org.w3c.dom.Element; |
||||
|
||||
/** |
||||
* Utility methods used internally by the Spring Security namespace configuration code. |
||||
* |
||||
* @author Luke Taylor |
||||
* @author Ben Alex |
||||
* @version $Id: WebConfigUtils.java 3770 2009-07-15 23:09:47Z ltaylor $ |
||||
*/ |
||||
public abstract class ConfigUtils { |
||||
|
||||
/** |
||||
* Creates and registers the bean definition for the default ProviderManager instance and returns |
||||
* the BeanDefinition for it. This method will typically be called when registering authentication providers |
||||
* using the <security:provider /> tag or by other beans which have a dependency on the |
||||
* authentication manager. |
||||
* @param element the source element under which this bean should be registered. |
||||
*/ |
||||
public static void registerProviderManagerIfNecessary(ParserContext pc, Element element) { |
||||
if(pc.getRegistry().containsBeanDefinition(BeanIds.AUTHENTICATION_MANAGER)) { |
||||
return; |
||||
} |
||||
|
||||
RootBeanDefinition authManager = new RootBeanDefinition(NamespaceAuthenticationManager.class); |
||||
authManager.getPropertyValues().addPropertyValue("providerBeanNames", new ArrayList<String>()); |
||||
authManager.setSource(pc.extractSource(element.getOwnerDocument().getFirstChild())); |
||||
pc.getRegistry().registerBeanDefinition(BeanIds.AUTHENTICATION_MANAGER, authManager); |
||||
pc.registerBeanComponent(new BeanComponentDefinition(authManager, BeanIds.AUTHENTICATION_MANAGER)); |
||||
} |
||||
|
||||
@SuppressWarnings("unchecked") |
||||
public static void addAuthenticationProvider(ParserContext parserContext, String beanName, Element element) { |
||||
registerProviderManagerIfNecessary(parserContext, element); |
||||
BeanDefinition authManager = parserContext.getRegistry().getBeanDefinition(BeanIds.AUTHENTICATION_MANAGER); |
||||
((ArrayList) authManager.getPropertyValues().getPropertyValue("providerBeanNames").getValue()).add(beanName); |
||||
} |
||||
} |
||||
Loading…
Reference in new issue