Hi everyone,

I am configuring a DSpace 1.6.0 instance to authenticate users to my
LDAP server.  I believe I have the necessary configuration options in
dspace.cfg specified correctly, but if I add
org.dspace.authenticate.LDAPHierarchicalAuthentication to my
Authentication stack, I receive a NullPointerException.  If I use the
regular org.dspace.authenticate.LDAPAuthentication method, my logins do
not work.

My relevant bits of dspace.cfg:

ldap.enable = true
ldap.provider_url = ldaps://ldap.unb.ca/
ldap.id_field = uid
ldap.object_context = dc=unb,dc=ca
ldap.search_context = dc=unb,dc=ca
ldap.email_field = mail
webui.ldap.autoregister = true
ldap.search_scope = 2
ldap.search.user = uid=authentication,dc=unb,dc=ca
ldap.search.password = #########


For Hierarchical authentication, I receive the following stack trace:

java.lang.NullPointerException
        at
org.dspace.authenticate.LDAPHierarchicalAuthentication$SpeakerToLDAP.getDNOfUser(LDAPHierarchicalAuthentication.java:381)
        at
org.dspace.authenticate.LDAPHierarchicalAuthentication.authenticate(LDAPHierarchicalAuthentication.java:212)
        at
org.dspace.authenticate.AuthenticationManager.authenticateInternal(AuthenticationManager.java:197)
        at
org.dspace.authenticate.AuthenticationManager.authenticate(AuthenticationManager.java:134)
        at
org.dspace.app.xmlui.utils.AuthenticationUtil.Authenticate(AuthenticationUtil.java:139)
        at
org.dspace.app.xmlui.aspect.eperson.LDAPAuthenticateAction.act(LDAPAuthenticateAction.java:100)


When I switch back to the other method, I see this in dspace.log:

2010-06-24 12:09:36,234 INFO  org.dspace.authenticate.LDAPAuthentication
@
anonymous:session_id=C9E51723EA5FACD476F97B1300ABC5E8:ip_addr=131.202.32.219:auth:attempting
trivial auth of user=jnugent

2010-06-24 12:09:36,234 DEBUG org.dspace.storage.rdbms.DatabaseManager @
Running query "select * from eperson where netid = ? "  with parameters:
jnugent

2010-06-24 12:09:37,233 WARN  org.dspace.authenticate.LDAPAuthentication
@
anonymous:session_id=C9E51723EA5FACD476F97B1300ABC5E8:ip_addr=131.202.32.219:ldap_authentication:type=failed_auth
javax.naming.AuthenticationException\colon; [LDAP\colon; error code 32 -
No Such Object]

That's better, but now I am wondering why my LDAP server is returning No
Such Object.  OpenLDAP's ldapsearch tool seems to correctly find my
record, using the same command line arguments.  I am prompted for my
authentication password for the authenticated search DN and find my
jnugent record.

ldapsearch -W -D uid=authentication,dc=unb,dc=ca -v -x -H
ldaps://ldap.unb.ca  "(uid=jnugent)"

Suggestions are appreciated.

Regards,

Jason


-- 
Jason Nugent
Systems Programmer/Database Developer
Electronic Text Centre
University of New Brunswick
jnug...@unb.ca
(506) 447 3177

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech

Reply via email to