Edgewall Software

Changes between Version 2 and Version 3 of ActiveDirectory


Ignore:
Timestamp:
Nov 14, 2007, 2:16:24 PM (16 years ago)
Author:
wilsonbe@…
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • ActiveDirectory

    v2 v3  
    8080</Location>
    8181}}}
     82
     83 === Using mm_mod_auth_ldap and authentication on bind ===
     84Some LDAP providers require some form of authentication in order to check credentials.  There are two ways of handling this.  One is to put a specific username and password into the Apache configuration file.  This can be problematic in certain environments, and burying passwords in configuration files can be a maintenance problem.  The third party mm_mod_auth_ldap (http://muquit.com/muquit/software/mod_auth_ldap/mod_auth_ldap.html)provides an interesting solution, which is that it attempts to use the username/password supplied by the user to do the bind to the LDAP provider.  If the bind works that's part of the authentication.  If the bind doesn't work, then the user is presumed to not be real, and the authentication fails.  This does, however, have a couple of unfortunate side effects.  One is that if the user fat-fingers the password, the bind fails and the user sees a server configuration error (bad).  The other is that since the credentials are different on each bind, there's no caching or pooling of LDAP connections possible.  However, this is a useful concept, and one that can hopefully be improved.  The gist of the configuration is
     85{{{
     86LoadModule mm_auth_ldap_module /usr/lib/httpd/modules/mm_mod_auth_ldap.so
     87
     88<Location /test-ldap>
     89     Options None
     90
     91     #Authentication
     92     AuthType Basic
     93     AuthBasicProvider mm_ldap
     94     AuthName "Authenticate"
     95     #Server information
     96     LDAP_Port <LDAP port> #often 389
     97     LDAP_Server <ldapserver.your.domain>
     98     LDAP_StartTLS On
     99     #Where to look
     100     Base_DN "<base DN for where to bind>"  # e.g. "ou=People,dc=example,dc=com"
     101     UID_Attr uid
     102     #Require these users
     103     require valid-user
     104     #Authenticate on bind - important!
     105     AuthOnBind On
     106     #Debugging
     107     LDAP_Debug Off
     108</Location>
     109}}}
    82110Have fun!