Uploaded image for project: 'Continuum'
  1. Continuum
  2. CONTINUUM-2031

continuum :: redback :: security.properties not overriding properly application.xml

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 1.2.2
    • None
    • None
    • None
    • apache-tomcat-6.0.18
      Maven version: 2.0.9
      Java version: 1.6.0_03
      OS name: "linux" version: "2.6.18-6-amd64" arch: "amd64" Family: "unix"

    Description

      in webapps/continuum/WEB-INF/classes/META-INF/plexus/application.xml I 'hardcoded' my user.base.dn as ou=People,dc=jquantlib,dc=org, as shown below:

      <component>
      <role>org.codehaus.plexus.redback.common.ldap.UserMapper</role>
      <role-hint>ldap</role-hint>
      <implementation>org.codehaus.plexus.redback.common.ldap.LdapUserMapper</implementation>
      <configuration>
      <email-attribute>email</email-attribute>
      <full-name-attribute>givenName</full-name-attribute>
      <password-attribute>userPassword</password-attribute>
      <user-id-attribute>cn</user-id-attribute>
      <user-base-dn>ou=People,dc=jquantlib,dc=org</user-base-dn>
      <user-object-class>inetOrgPerson</user-object-class>
      </configuration>
      <requirements>
      <requirement>
      <role>org.codehaus.plexus.redback.configuration.UserConfiguration</role>
      </requirement>
      </requirements>
      </component>

      I was obliged to do it in this file and repackage the .WAR file because the value specified is not properly loaded.
      For instance, if I defined

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

      ldap.config.hostname=localhost
      ldap.config.port=389
      ldap.config.base.dn=dc=jquantlib,dc=org
      ldap.config.context.factory=com.sun.jndi.ldap.LdapCtxFactory
      ldap.config.bind.dn=cn=admin,dc=jquantlib,dc=org
      ldap.config.password=secret
      #ldap.config.authentication.method=

      ldap.config.mapper.attribute.email=mail
      ldap.config.mapper.attribute.fullname=givenName
      ldap.config.mapper.attribute.password=userPassword
      ldap.config.mapper.attribute.user.id=cn
      #ldap.config.mapper.attribute.user.base.dn=ou=People,dc=jquantlib,dc=org
      ldap.config.mapper.attribute.user.object.class=inetOrgPerson
      #ldap.config.mapper.attribute.user.filter=

      As a matter of test, I changed user.base.dn as show below:
      ldap.config.mapper.attribute.user.base.dn=ou=Test,dc=jquantlib,dc=org

      In continnum.log it shows like this:
      INFO ldapController - Searching for users with filter: '(&(objectClass=inetOrgPerson)(cn=guest))' from base dn: ou=Test

      If I comment out that line...
      #ldap.config.mapper.attribute.user.base.dn=ou=Test,dc=jquantlib,dc=org

      it show like this in the logfile:
      INFO ldapController - Searching for users with filter: '(&(objectClass=inetOrgPerson)(cn=guest))' from base dn: ou=People,dc=jquantlib,dc=org

      It means that "ou=Test,dc=jquantlib,dc=org" was wrongly read as "ou=Test"

      Thanks

      Richard Gomes
      http://www.jquantlib.org/index.php/User:RichardGomes

      Attachments

        Issue Links

          Activity

            People

              brett Brett Porter
              rgomes1997 Richard Gomes
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: