LDAP with caching DNs in derby.user.userName as database property does not work
-------------------------------------------------------------------------------

         Key: DERBY-1026
         URL: http://issues.apache.org/jira/browse/DERBY-1026
     Project: Derby
        Type: Bug
  Components: Security  
    Versions: 10.2.0.0, 10.1.2.2, 10.1.2.0, 10.1.2.1, 10.1.1.2, 10.1.1.0, 
10.1.1.1, 10.0.2.1, 10.0.2.0    
    Reporter: Sunitha Kambhampati
    Priority: Minor


The documentation talks about LDAP support with mapping user names to derby 
users using the derby.user.'userName' property. 

See links
http://db.apache.org/derby/docs/dev/tuning/rtunproper37341.html
http://db.apache.org/derby/docs/dev/tuning/rtunproper27355.html

Per the documentation, one can use the derby.user property to set the DN for a 
user,and when using LDAP, setting the search filter to derby.user will pick up 
the DN from this property if available. This is not working when I tried it out 
by caching a user's dn as a database-level property.

Found the following issues:

1)Setting the database property derby.user.userName to a DN does not work:
Problem in AuthenticationServiceBase#map. 
-- If there is a system property derby.authentication.provider=LDAP, setting of 
derby.user.userName to a DN value as a database property will encrypt the DN 
value and store it. The code seems to expect that the 
derby.authentication.provider is set to LDAP as a database property, else it 
considers it as a password and encrypts the value. 
-- it doesnt return the correct mapped value for the property for the LDAP and 
derby.user.userName case. Returns null instead of returning the clear text DN 
value.


2) the LDAP code itself doesnt pick up the userDN.

In LDAPAuthenticationSchemeImpl#authenticateUser
            if (useUserPropertyAsDN)
                userDN =
                    authenticationService.getProperty(
                        
org.apache.derby.iapi.reference.Property.USER_PROPERTY_PREFIX)

Here  USER_PROPERTY_PREFIX is derby.user.
The key should be USER_PROPERTY_PREFIX+userName.  

3) After the code issues are fixed, it would be nice if documentation can be 
added to give a full example of how to go about doing LDAP authentication with 
caching DNs in derby.user. 


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to