0

我已取消注释 application.xml 中的 LDAP 和 UserMapper 连接器

我知道我的 LDAP 凭据(binddn、主机名等)都在工作,因为我对服务器上的其他应用程序使用 LDAP 身份验证和授权。

我所做的只是对 application.xml 和 security.properties 进行更改。还有什么我应该做的吗?

当我尝试使用来自 LDAP 的用户登录时,它不成功。有没有我可以检查的日志文件,看看出了什么问题?我发现档案文档稀疏而简洁。

这是我的 security.properties 文件 - 一些值已被更改,也许有人可以验证结构是否完好:

# LDAP
user.manager.impl=ldap
ldap.bind.authenticator.enabled=true
redback.default.admin=admin
security.policy.password.expiration.enabled=false

ldap.config.hostname=localhost
ldap.config.port=389
ldap.config.base.dn=domainName=mydomain.com,o=domains,dc=mydomain,dc=com
ldap.config.context.factory=com.sun.jndi.ldap.LdapCtxFactory
ldap.config.bind.dn=cn=Manager,dc=mydomain,dc=com
ldap.config.password=mypass

ldap.config.mapper.attribute.email=mail
ldap.config.mapper.attribute.fullname=displayName
ldap.config.mapper.attribute.password=userPassword
ldap.config.mapper.attribute.user.id=mail
ldap.config.mapper.attribute.user.base.dn=ou=Users
ldap.config.mapper.attribute.user.object.class=inetOrgPerson
ldap.config.mapper.attribute.user.filter=(objectclass=inetOrgPerson)

此外, config.mapper.attribute.user.base.dn 让我感到困惑。我的用户的基础在这里:ou=Users,domainName=mydomain.com,o=domains,dc=mydomain,dc=com

这对我输入的基本 DN 是否意味着: domainName=scoresecret.com,o=domains,dc=scoresecret,dc=com

对于 config.mapper.attribute.user.base.dn:ou=Users

如果我做错了什么,如果我忘记做一些事情来“打开 LDAP”,如果我能找到一些日志来指出我正确的方向,请告诉我。万分感谢

4

1 回答 1

1

确保您已配置 LDAP 中存在的管理员用户 - 目前无法为此使用内部用户。

redback.default.admin=admin

替换admin为 LDAP 服务器中可用于此目的的角色帐户。

这是我使用的配置模板,它应该显示您需要填充的值: https ://github.com/maestrodev/puppet-archiva/blob/master/templates/security.properties.erb

似乎主要区别可能是用户过滤器为空?

(另见 users@archiva.apache.org 上的线程:http: //s.apache.org/KDj

于 2011-11-14T01:59:11.507 回答