<;身份验证管理器>;在Spring2.x之前的命名空间中
我使用了一个Spring 3应用程序:<;身份验证管理器>;在Spring2.x之前的命名空间中,spring,ldap,openldap,spring-ldap,spring-security-ldap,Spring,Ldap,Openldap,Spring Ldap,Spring Security Ldap,我使用了一个Spring 3应用程序: <authentication-manager> <authentication-provider ref='myAuthenticationProvider'/> </authentication-manager> 身份验证管理器不支持命名空间的等效定义应如下所示 <bean id="authenticationManager" class="org.springframework.securi
<authentication-manager>
<authentication-provider ref='myAuthenticationProvider'/>
</authentication-manager>
身份验证管理器不支持命名空间的等效定义应如下所示
<bean id="authenticationManager" class="org.springframework.security.authentication.ProviderManager">
<constructor-arg>
<list>
<ref bean="ldapAuthProvider" />
</list>
</constructor-arg>
</bean>
<bean id="ldapAuthProvider" class="org.springframework.security.ldap.authentication.LdapAuthenticationProvider">
<constructor-arg ref="ldapBindAuthenticator"/>
<constructor-arg ref="ldapAuthoritiesPopulator"/>
<property name="userDetailsContextMapper" ref="ldapUserDetailsContextMapper"/>
</bean>
<bean id="userDetailsService" class="org.springframework.security.ldap.userdetails. LdapUserDetailsService">
<constructor-arg ref="userSearch" />
<constructor-arg ref="ldapAuthoritiesPopulator" />
<property name="userDetailsContextMapper" ref="ldapUserDetailsContextMapper"/>
</bean>
感谢您的回复,但现在我收到了以下错误:由以下原因引起:org.springframework.security.config.securityConfiguration异常:未注册UserDetails服务。发布需要重写的配置文件。这是您需要为Spring 2.x调整的文件吗?我没有看到任何<代码> <代码>元素。对不起,我发布了错误的文件,现在如果正确的代码,这个文件是在3。x我需要传递给Spring 2.Xi编辑答案,以便认证管理器使用LDAP身份验证提供程序。
Caused by: org.springframework.security.config.SecurityConfigurationException: No UserDetailsService registered.
at org.springframework.security.config.UserDetailsServiceInjectionBeanPostProcessor.getUserDetailsService(UserDetailsServiceInjectionBeanPostProcessor.java:110)
at org.springframework.security.config.UserDetailsServiceInjectionBeanPostProcessor.injectUserDetailsServiceIntoRememberMeServices(UserDetailsServiceInjectionBeanPostProcessor.java:55)
at org.springframework.security.config.UserDetailsServiceInjectionBeanPostProcessor.postProcessBeforeInitialization(UserDetailsServiceInjectionBeanPostProcessor.java:36)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:350)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1330)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
... 69 more
<bean id="authenticationManager" class="org.springframework.security.authentication.ProviderManager">
<constructor-arg>
<list>
<ref bean="ldapAuthProvider" />
</list>
</constructor-arg>
</bean>
<bean id="ldapAuthProvider" class="org.springframework.security.ldap.authentication.LdapAuthenticationProvider">
<constructor-arg ref="ldapBindAuthenticator"/>
<constructor-arg ref="ldapAuthoritiesPopulator"/>
<property name="userDetailsContextMapper" ref="ldapUserDetailsContextMapper"/>
</bean>
<bean id="userDetailsService" class="org.springframework.security.ldap.userdetails. LdapUserDetailsService">
<constructor-arg ref="userSearch" />
<constructor-arg ref="ldapAuthoritiesPopulator" />
<property name="userDetailsContextMapper" ref="ldapUserDetailsContextMapper"/>
</bean>