Extending LDAPLogin Module
Hi,
The current TC LDAPLoginModule does not suit my needs.
- First off, I cannot expect my users to enter their complete DN in order to login,
- Secondly, we iPlanet and I cannot make use of the FormatDN parameter because the dn is different since the LDAP db is organized by location.
For example,
For user = scott, the dn could be uid=scott,ou=Users,ou=LocationA,ou=Engineering,dc=cae,dc=ca
For user = tom, the dn could be uid=tom,ou=Users,ou=LocationB,ou=Administration,dc=cae,dc=ca
I simply want the user to enter "scott" or "tom" in the login box. Since I cannot make use of the FormatDN param, I was thinking that I would have to extend LDAPLoginModule in order to get the param "scott", query LDAP to find the DN for uid=scott and then pass it to LDAPLoginModule.
Has anyone else had this issue? Can the TC dev team give me pointers as to how I can get the login value from the LDAPLoginModule.initialize() params?
Thanks,
Scott
Please sign in to leave a comment.
Scott Hebert wrote:
There's plenty implementations of JAAS LoginModule in JDK sources.
Specifically com.sun.security.auth.module.LdapLoginModule (since 1.6) is
really good and well-documented example. We provide our own module
because of requirement to be compatible with 1.5. Also, Sun's module
provides wider range of authentication options than ours.
--
Alexey Gopachenko
JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"
Thank you for your response. I was able to get it to work.
My problem is now, is that once I have successfully authenticated against the LDAP directory, TC takes the login name to be the ghastly DN...I'd like the LDAP uid to be the login name. I gather this is handled in the login() method but I do not quite know how to override LDAPLoginModule's method...
Can JetBrains provide that method?
Thanks,
Scott
Scott Hebert wrote:
This is quite a hack but you can try to modify authentication Subject
principals set. Look for ServerPrincipal instance. Do it right after
successful login.
--
Alexey Gopachenko
JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"