2011-11-11 27 views
0

工作,我註釋掉了LDAP和UserMapper連接器application.xml中無法獲得Apache Archiva與LDAP

我知道我的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 =域,DC = scoresecret,DC = com的

和config.mapper.attribute.user.base.dn:OU =用戶

讓我知道如果我做錯事,如果我忘記做些什麼來「開啓LDAP」,如果我能找到一些日誌來指向正確的方向。非常感謝

回答

1

確保您已經配置了一個存在於LDAP中的管理員用戶 - 目前無法爲此使用內部用戶。

redback.default.admin=admin 

替換admin與LDAP服務器角色帳戶可用於此。

下面是一個配置模板我使用的應該顯示的值你需要填寫: https://github.com/maestrodev/puppet-archiva/blob/master/templates/security.properties.erb

看來主要區別可能是用戶過濾器是空的?

(參見線程上[email protected]http://s.apache.org/KDj

+0

佈雷特你是一個控球。這不是固定的,它是你的文件,使我的配置工作。 –