这两种配置有何区别?

时间:2016-04-01 10:47:13

标签: spring security ldap

我正在使用SpringSecurity,我有两种配置可供尝试。在我的security-config.xml中,我有以下内容来针对LDAP验证用户。

<authentication-manager alias="authenticationManager">
    <ldap-authentication-provider server-ref="ldapLocal"
        user-search-filter="(| (userPrincipalName={0}) (sAMAccountName={0}))" user-search-base="CN=particion1,DC=prueba,DC=com">
    </ldap-authentication-provider>

但我收到以下错误

[LDAP: error code 49 - 8009030C: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 2030, v1db1}

我在我的属性文件中有这个配置

app.ad-domain=prueba
app.ad-server=ldap://localhost/
app.ad-rootdn=CN=particion1,DC=prueba,DC=com
app.service-principal=HTTP/localhost@prueba
app.keytab-location=/tmp/tomcat.keytab
app.ldap-search-base=CN=particion1,DC=prueba,DC=com
app.ldap-search-filter="(| (userPrincipalName={0}) (sAMAccountName={0}))"

我能以某种方式调用此属性吗?或者任何人都可以帮助我在xml文件中使用此配置?

更新

现在我有了这个配置

<authentication-manager alias="authenticationManager">
    <ldap-authentication-provider
        user-search-filter="(| (userPrincipalName={0}) (sAMAccountName={0}))" user-search-base="CN=particion1,DC=prueba,DC=com"></ldap-authentication-provider>
</authentication-manager>

<ldap-server url="ldap://192.168.5.2"
    manager-dn="CN=part1,DC=test,DC=com" manager-password="" />

我收到以下错误

Configuration problem: You must specify the manager-password if you supply a CN=test,DC=prueba,DC=com

1 个答案:

答案 0 :(得分:0)

根据https://confluence.atlassian.com/confkb/user-directory-sync-fails-with-ldap-error-code-49-223217565.html,它与用户/密码/帐户pb相关

那么你确定属性文件有效吗?因为我没有看到xml文件或属性文件之间的区别。

这个配置对我有用:

<authentication-manager alias='authenticationManager'>
<ldap-authentication-provider user-search-filter='(uid={0})' user-search-base='${myserviceservice.user.search.base}></ldap-authentication-provider>
</authentication-manager>

<ldap-server url="${myservice.read.scheme}://${myservice.read.host}" manager-dn="${myservice.nontrans.user}" manager-password="dummy-password" />

它与你的距离似乎并不遥远。