Bienvenue à tous ... Bonne journée ...

perso-net

Réseau d'entraide
informatique & réseaux

Accueil | Forum | Glossaire

Autentification apache sur Active Directory
    Problèmatique.
Nous voulons permette à nos professeurs et personnel administratif (pas aux étudiants) d'avoir accès à certaines parties de deux serveurs web.
    Environnement.
Nous disposont de:
  • Apache version 1.3.33 et 2.0 sur distribution debian sarge
  • Deux Domaines Active Directory dans la même forêt:
    • <domaine1> : domaine des professeurs et du personnel administratif.
    • <domaine2> : domaine des étudiants.
<domaine1> est parent de <domaine2> tout les deux en mode natif 2003.
    Solution retenue.
Nous avons retenu la mise en oeuvre du module "auth_ldap" car le module est integré dans la version 2.0 d'apache.
    Mise en place.
  • Chargement du module.
    • Sur Apache version 1.3.33 apt-get install libapache-auth-ldap
    • Sur Apache Version 2.0 ln -s /etc/apache2/mods-available/auth_ldap.load /etc/apache2/mods-enabled/
  • Configuration du module
Alias /dossier /usr/share/dossier/htdocs

<DirectoryMatch /usr/share/dossier/htdocs>
Options FollowSymLinks
Order Allow,Deny
Allow From All
AuthLDAPAuthoritative off
AuthLDAPURL ldap://<serveur>.<domaine>.eseo.fr:389/OU=<une unité organisationnelle>,DC=<domaine>,DC=eseo,DC=fr?sAMAccountName?sub?(objectClass=user)
AuthLDAPBindDN cn=<user>,dc=<domaine>,dc=eseo,dc=fr
AuthLDAPBindPassword xxxxxxxx

AuthName "TEST Access"
AuthType Basic
require user <un user LDAP> <un user non LDAP> #nous voulons permetre l'accès à un utilisateur non LDAP
AuthUserFile <un fichier htpasswd> #contenu dans un fichier htpasswd
</DirectoryMatch>

Attention !:
Si vous souhaitez chercher dans tout Active Directory, vous devez specifier la racine de votre arbre et vous connecter au catogue global !!!

  • La configuration du module devient:
Alias /dossier /usr/share/dossier/htdocs

<DirectoryMatch /usr/share/dossier/htdocs>
Options FollowSymLinks
Order Allow,Deny
Allow From All
AuthLDAPAuthoritative off
AuthLDAPURL ldap://<serveur catalogue global>.<domaine>.eseo.fr:3268/DC=<domaine>,DC=eseo,DC=fr?sAMAccountName?sub?(objectClass=user)
AuthLDAPBindDN cn=<user>,dc=<domaine>,dc=eseo,dc=fr
AuthLDAPBindPassword xxxxxxxx

AuthName "TEST Access"
AuthType Basic
require user <un user LDAP> <un user non LDAP> #nous voulons permetre l'accès à un utilisateur non LDAP
AuthUserFile <un fichier htpasswd> #contenu dans un fichier htpasswd
</DirectoryMatch>

    Conclusion
Passé le problème d'interrogation à partir de la racine Active Directory, tout est simple !!!


Pour me contacter, merci de m'envoyer un email à :
Afin d'éviter aux moteurs de spam de copier cette adresse: celle-ci est une image !