Hi,
I recently upgraded from archiva 1.0.x to 1.1.3 and found that ldap
authentication is broken. Archiva 1.1.3 currently does not appear to work with
ldap.config.bind.dn. Although I haven't verified it yet, archiva 1.2-M1
includes an updated redback with the fix. Hopefully I can save someone else
some time.
${appserver.base}/conf/security.properties:
user.manager.impl=cached
ldap.bind.authenticator.enabled=true
redback.default.admin=admin
redback.default.guest=guest
security.policy.password.expiration.enabled=false
ldap.config.hostname=127.0.0.1
ldap.config.port=389
ldap.config.base.dn=o=localdomain
ldap.config.context.factory=com.sun.jndi.ldap.LdapCtxFactory
ldap.config.bind.dn=cn=Administrator,o=localdomain
ldap.config.password=********
ldap.config.mapper.attribute.email=mail
ldap.config.mapper.attribute.fullname=cn
ldap.config.mapper.attribute.password=userPassword
ldap.config.mapper.attribute.user.id=uid
## This is set in application.xml due to another unrelated issue
#ldap.config.mapper.attribute.user.base.dn=ou=people,o=localdomain
ldap.config.mapper.attribute.user.object.class=inetOrgPerson
With this configuration, archiva fails to start and throws the following stack
trace:
org.codehaus.plexus.redback.common.ldap.connection.LdapException: Could not
connect to the server. [Root exception is javax.naming.InvalidNameException:
[LDAP: error code 34 - invalid DN]]
at
org.codehaus.plexus.redback.common.ldap.connection.LdapConnection.<init>(LdapConnection.java:81)
at
org.codehaus.plexus.redback.common.ldap.connection.ConfigurableLdapConnectionFactory.getConnection(ConfigurableLdapConnectionFactory.java:130)
at
org.codehaus.plexus.redback.users.ldap.LdapUserManager.newDirContext(LdapUserManager.java:338)
at
org.codehaus.plexus.redback.users.ldap.LdapUserManager.findUser(LdapUserManager.java:214)
at
org.codehaus.plexus.redback.users.cached.CachedUserManager.findUser(CachedUserManager.java:126)
at
org.codehaus.plexus.redback.users.configurable.ConfigurableUserManager.findUser(ConfigurableUserManager.java:111)
at
org.codehaus.plexus.redback.xwork.checks.security.GuestUserEnvironmentCheck.validateEnvironment(GuestUserEnvironmentCheck.java:82)
at
org.apache.maven.archiva.web.startup.SecuritySynchronization.executeEnvironmentChecks(SecuritySynchronization.java:151)
at
org.apache.maven.archiva.web.startup.SecuritySynchronization.startup(SecuritySynchronization.java:125)
at
org.apache.maven.archiva.web.startup.ArchivaStartup.contextInitialized(ArchivaStartup.java:56)
at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
...
The issue is with redback: http://jira.codehaus.org/browse/REDBACK-154.