I have searched through all the LDAP messages in the archives and haven't
really found a definitive answer on what works. From what I gathered
there is turbine support but it doesn't work? Or perhaps Turbine works
but the Jetspeed integration doesn't?
Here is what I find in the TurbineResources.properties file:
I tried commenting out the DBUserManger and replacing it with the
LDAPUserManager
#services.SecurityService.user.manager=org.apache.turbine.services.security.db.DBUserManager
services.SecurityService.user.manager=org.apache.turbine.services.security.LDAP.LDAPUserManager
#There is no Jetspeed.services.security.JetspeedLDAPSecurityService?
Perhaps this is where it falls short? I left this as is.
services.SecurityService.classname=org.apache.jetspeed.services.security.JetspeedDBSecurityService
# Made the necessary changes here
services.SecurityService.ldap.security.athentication=simple
services.SecurityService.ldap.port=<LDAP PORT>
services.SecurityService.ldap.host=<LDAP HOST>
services.SecurityService.ldap.admin.username=<ADMIN USERNAME>
services.SecurityService.ldap.admin.password=<ADMIN PASSWORD>
services.SecurityService.ldap.user.basesearch=<SEARCH PATTERN>
services.SecurityService.ldap.user.search.filter=<SEARCH FILTER>
services.SecurityService.ldap.dn.attribute=userPrincipalName
services.SecurityService.ldap.provider=com.sun.jndi.ldap.LdapCtxFactory
I tried these changes for kicks using 1.3a2 release build and received the
following message upon login:
The exception is:
java.lang.NullPointerException
at
org.apache.turbine.services.security.ldap.LDAPUserManager.retrieve(LDAPUserManager.java:172)
at
org.apache.turbine.services.security.ldap.LDAPUserManager.retrieve(LDAPUserManager.java:281)
at
org.apache.turbine.services.security.BaseSecurityService.getAuthenticatedUser(BaseSecurityService.java:312)
at
org.apache.turbine.services.security.TurbineSecurity.getAuthenticatedUser(TurbineSecurity.java:199)
at
org.apache.turbine.modules.actions.LoginUser.doPerform(LoginUser.java:111)
.....
So it at least found the LDAPUserManger class. I think it got the null
pointer exception because the adminUser object is null.
Has anyone gotten any further on this? My end goal is the ability to
authenticate against LDAP, but I would like to use the rest of the
Jetspeed security system (roles, groups).
Any help is appreciated.
-Jim