1

Spring3.1アプリを社内のZimbraLDAPサーバーに接続しようとしています。私はおそらく非常に愚かなことをしていて、問題を見ることができません。定義したグループとユーザーベースおよびフィルター用語に問題がある可能性があると確信していますが、それによってアプリサーバーの起動時にBeanCreationExceptionが発生することはないはずです。私は別の目を使うことができました...

例外の短いバージョン:

「LdapAuthenticationProviderをプロパティプロバイダーの必須タイプAuthenticationProviderに変換できません[0]」

完全な例外:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.authentication.ProviderManager#0': Cannot create inner bean '(inner bean)' of type [org.springframework.security.config.authentication.AuthenticationManagerFactoryBean] while setting bean property 'parent'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#16': FactoryBean threw exception on object creation; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.authenticationManager': Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'java.util.ArrayList' to required type 'java.util.List' for property 'providers'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [org.springframework.security.ldap.authentication.LdapAuthenticationProvider] to required type [org.springframework.security.authentication.AuthenticationProvider] for property 'providers[0]': no matching editors or conversion strategy found

関連するSpring構成ファイルのエントリ:

<security:authentication-manager>
    <security:ldap-authentication-provider
        group-search-filter="member={0}"
        group-search-base="ou=groups"
        user-search-base="ou=people"
        user-search-filter="uid={0}"
    />        
</security:authentication-manager>

<security:ldap-server url="ldap://<correct IP and port>" manager-dn="uid=zimbra,cn=admins,cn=zimbra" manager-password="<private>" />

あなたが提供できる洞察に感謝します!

4

1 に答える 1

0

これは、含まれているSpringライブラリ間の不一致のようです。SpringSecurityLDAPライブラリが他のSpringSecurityライブラリのバージョンと一致していることを確認する必要があります。

例えば:

spring-security-web-3.1.0.RELEASE.jar
spring-security-core-3.1.0.RELEASE.jar
spring-security-config-3.1.0.RELEASE.jar
spring-security-ldap-3.1.0.RELEASE.jar
于 2012-08-01T06:51:39.343 に答える