<;身份验证管理器>;在Spring2.x之前的命名空间中

<;身份验证管理器>;在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

我使用了一个Spring 3应用程序:

  <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>