The fact I didn't only bind the user to check the
password is that in some
case where directory structure is complex I can't guess the DN out of the
user name...
Active directory allows more ways to authenticate user when binding:
- Distinguished Name (only works with simple bind)
- NT account name (domain\samAccountName) (always works with simple or
secure bind)
- UserPrincipalName (user(a)domain.com) (always works with simple or
secure bind IF it is defined; is not required attribute)
- sAMAcountName (user) (only works with AD secure bind)
Anyway if in your case DN can be guessed out of user
name, I think not
setting ldap_bind_DN could do the trick
I cannot guess full DN because it consists of a company personal ID.
What I use is the domain\samAccountName way where samAccountName
equals to XWiki user name. Because the account name is combined name
DOMAIN + "\" + USERNAME it would be nice if there is a new parameter
introduced e.g. ldap_bind_addomain which will be then used when
constructing userDN before using in the Bind method.
Another problem of using a dedicated ldap_bind_DN (comparing to using
of the user's DN only) is the need to have a special system account on
AD which I can hardly imagine I will get it approved by our sys
admins.
And beside I'll investigate into adding proper AD
support (guess I'll have
to install WS2003
I don't think there is another possibility than the introducing of a
SSL stack, which is unnecessary overhead if you need just
authentication and not changing of password, IMHO.
As I don't want to bind twice, I use comparison of
password (so I don't really read password).
Even for this comparison I get "attribute not find" from AD. I also
was trying a more attributes names like "unicodePwd" but no success...
As for CreateUserFromLDAP, it's a very first
version, and I'm looking for
comments about it.
What would be interesting is to add a support of plugging custom
mapping logic. We will need it for extracting a substring of an LDAP
attribute and assigning user to a XWiki group based on LDAP grouping.
Thank you,
Jiri.
On Thu, 28 Apr 2005 22:35:08 +0200, you wrote:
>Hi Jiri
>The fact I didn't only bind the user to check the password is that in some
>case where directory structure is complex I can't guess the DN out of the
>user name, so I first need to make a search, binding anonymously or with
>binding DN/password. As I don't want to bind twice, I use comparison of
>password (so I don't really read password).
>Anyway if in your case DN can be guessed out of user name, I think not
>setting ldap_bind_DN could do the trick, maybe with some minor modification
>to the code. If you could send me the patch you made I can find a way to
>make it "clean".
>And beside I'll investigate into adding proper AD support (guess I'll have
>to install WS2003).
As for CreateUserFromLDAP, it's a very first
version, and I'm looking for
comments about it.
>
>Alexis KARTMANN
>email : alexis(a)kartmann.com
>Blog :
http://www.kartmann.com
>ICQ : 258922616
>Yahoo : akartmann
>MSN : alexis(a)kartmann.com
>AIM : alexkartmann
>Jabber : akartmann(a)jabber.fr
>Spype : alexkartmann
>
>
>-----Message d'origine-----
>De : Jiri Luzny [mailto:jiri.luzny@seznam.cz]
>Envoyé : jeudi 28 avril 2005 21:40
>? : xwiki-dev(a)objectweb.org
>Objet : Re: [xwiki-dev] LDAP integration status
>
>Hi Alexis,
>
>I'm testing the LDAP stuff with Active Directory and it is *almost*
>working fine. ;-)
>
>The problem is in LDAPAuthServiceImpl.checkUserPassword() when you try
>to read "userPassword" in order to check the password. As I understood
>from reading of various articles, Active Directory requires a strong
>encryption even for a read-only access to the "userPassword"
>("unicodePwd") attribute. Here are some links:
>
>http://forum.java.sun.com/thread.jspa?threadID=592611&messageID=3100133
>http://mail.jabber.org/pipermail/jadmin/2002-January/003278.html
>
>Is there any specific reason why you cannot just simply rely on bind()
>with either DN or username and password to authenticate the user? I
>commented out the userPassword check and assigned return value of
>Bind() method to the result (not using ldap_bind_DN at all) and it is
>working fine.
>
>Anyway, thanks for this piece of code (especially the newly committed
>CreateUserFromLDAP() feature is cool).
>
>Jiri.
>
>
>
>
>On Wed, 27 Apr 2005 16:05:52 +0200, you wrote:
>
>>Hi,
>>I'm working on LDAP integration.
>>The current status is:
>>- Password can be checked against LDAP server using different strategies.
>>- User must exist in XWiki database.
>>These functions are available for SVN version on openweb, but not of latest
>>binary release. I still need to provide documentation on how-to use it.
>>I have plans to had:
>>- Automatic transfer of user from LDAP to XWiki first time a user connects.
>>- Update of user fields from LDAP to XWiki.
>>- Mass transfer/update from LDAP to XWiki.
>>If you're willing to build latest version I can provide you help testing
>>this on your environment. I only tested with Open-LDAP server and I'm
>>curious to learn how it works with other servers.
>>
>>Alexis KARTMANN
>>email : alexis(a)kartmann.com
>>Blog :
http://www.kartmann.com
>>Jabber : akartmann(a)jabber.fr
>>
>>
>>-----Message d'origine-----
>>De : Jiri Luzny [mailto:jiri.luzny@seznam.cz]
>>Envoyé : mercredi 27 avril 2005 15:28
>>? : xwiki-dev(a)objectweb.org
>>Objet : [xwiki-dev] LDAP integration status
>>
>>Hi,
>>
>>as we plan to integrate XWiki user management with Active Directory in
>>our company, I'm curious what is the status of LDAP Integration. Is it
>>testable? If so, I would be happy to become a beta tester for this ;-)
>>
>>Jiri.
>>
>>
>>
>
>
>