IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Apache, LDAP et Active Directory


Sujet :

Apache

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Apache, LDAP et Active Directory
    Salut à tous !

    Je souhaiterais faire un petit Intranet en PHP sur un serveur Apache2 sous debian (Sarge). Pour éviter de gérer 2 bases d'annuaires, j'aimerais, via le module "mod_auth_ldap" pouvoir authentifier les utilisateurs de l'intranet par leur compte utilisateur du domaine.
    Mon controlleur de domaine est sous Win2K Server (Active Directory).

    J'ai parcouru la doc sur ce module sur le site de apache.org, ainsi que sur un tas d'autres sites,mais je n'ai pas trouvé de détails très précis.

    Voici ce que j'ai dans mon apache2.conf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <Directory /var/www/essai>
       Options Indexes FollowSymLinks MultiViews
       AllowOverride None
       Order allow,deny
       allow from all
     
      #mod_auth_ldap
      AuthLDAPEnabled on
      AuthLDAPAuthoritative on
      AuthName "Veuillez vous identifier."
      AuthType Basic
      AuthLDAPURL ldap://mon_serveur:389/OU=mon_unite,DC=mon_domaine,DC=com
    require valid-user
    </Directory>
    Jusqu'à maintenant, j'ai bien la fenêtre d'identification qui apparaît, mais lorsque je tape mon identifiant et mot de passe, ça ne veut rien savoir.

    Voici ce que j'ai dans "/var/log/apache2/error.log" :
    [Wed Jun 29 13:44:40 2005] [warn] [client xxx.xxx.xxx.xxx] [3247] auth_ldap authenticate: user mon_identifiant authentication failed; URI /essai/ [User not found][No such object]
    Ce qui n'est pas très explicite (je n'arrive pas a savoir si au moins il parvient jusqu'au controlleur de domaine !)

    Est-ce que quelqu'un aurait une piste ? car j'ai tenté un tas de modification dans mon "AuthLDAPURL" sans résultat et je ne sais plus trop vers où me tourner...

    D'avance merci !

    aZ

  2. #2
    Membre chevronné
    Avatar de Bidouille
    Inscrit en
    Mars 2003
    Messages
    1 274
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 1 274
    Points : 1 991
    Points
    1 991
    Par défaut
    Je pencherais plutôt pour une authentification via PHP
    Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org

    Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Slt Bidouille.

    Via PHP ? mais comment accéder à Active Directory alors ?

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    up !

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Active Directory a beau être propriétaire, il n'en reste pas moins un annuaire et qui par conséquent peut être consulté avec n'importe quel client. Donc pour PHP, le client sera PHP lui-même et cela n'est possible que si l'extension php-ldap est "installée", une API LDAP C sera requise (OpenLDAP ou autres).

    Pour revenir à ton problème avec le module :
    _ As-tu essayé de te connecter avec un client (console, ldapbrowser, ...) ?
    _ Peux-tu te connecter en anonyme à l'annuaire ? (j'ai jamais utilisé Active Directory)
    _ As-tu essayé de préciser un filtre ?


    Cordialement, Julp

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Ca fonctionne maintenant !!

    <Directory /var/www/mon_respertoire>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all

    #mod_auth_ldap
    AuthLDAPEnabled on
    AuthLDAPAuthoritative on
    AuthName "Connexion à mon_repertoire"
    AuthType Basic
    AuthLDAPURL ldap://server-activedirectory.mon-domaine.com:3268/dc=mon-domaine,dc=com?sAMAccountName?sub?(objectClass=user)
    AuthLDAPBindDN "uid=mon_compte,dc=mon-domaine,dc=com"
    AuthLDAPBindPassword xxxpasswdxxx
    require valid-user
    </Directory>

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Juin 2003
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Meme problème
    Exactement le même problème. Le parametrage est en effet un peu subtile. Je viens de tomber sur ce poste juste après être arrivé aux mêmes conclusions.

    Voici qq explications pour éviter aux autres de galérer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    AuthLDAPBindDN "uid=mon_compte,dc=mon-domaine,dc=com"
    AuthLDAPBindPassword xxxpasswdxxx
    Si cette portion n'est pas précisée, la tentative de connexion au ldap se fait en mode anonymous. Dans certains cas (comme le mien) ce n'est pas permis. Il faut donc impérativement spécifier un utilisateur avec lequel Apache pourra se connecter pour effectuer alors l'authentification à proprement parler. Cette partie est donc indispensable si les connexions anonymous ne sont pas autorisées sur le LDAP.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AuthLDAPURL ldap://server-activedirectory.mon-domaine.com:3268/dc=mon-domaine,dc=com?sAMAccountName?sub?(objectClass=user)
    Ici, l'URL est très imortante car elle va être utilisée pour effectuer l'authentification de l'utilisateur qui va fournir un login / mdp. Dans ce cas le login va être comparé à sAMAccountName. Le filtre que Apache va construire va être de la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (&(objectClass=user)(sAMAccountName=$nom_saisi_par_utilisateur)).
    Suivant si le login est contenu dans sAMAccountName, sn, givenname, displayname, mail... il va falloir changer la valeur de AuthLDAPURL.
    La documentation Apache est très claire sur ce dernier point (AuthLDAPURL), faut-il encore la lire calmement et en entier.


    J'espère que cela va aider certain et que vous ne perdrez pas 1 heure comme moi à tourner en rond...
    Merci à aZrael51 pour avoir posté la solution à son problème !

    ++

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 16
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    Je suis dans le même cas que vous, j'ai dû ajouter les directives AuthLDAPBindDN et AuthLDAPBindPassword pour pouvoir authentifier les utilisateurs via LDAP.
    Etant donné que j'administre le serveur web mais pas les sites qu'il héberge, les utilisateurs mettent en place leur authentification en plaçant un fichier .htaccess dans le répertoire à protéger.
    Par contre n'y a-t-il pas un moyen de mettre les deux directives AuthLDAPBindDN et AuthLDAPBindPassword dans le fichier httpd.conf afin de ne pas donner directement aux utilisateurs un compte ldap avec son mot de passe, car je trouve que ça ne marque pas trés bien.

    J'ai essayé de mettre ces deux directives dans un bloc "Directory" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <Directory /etc/httpd/vhosts-sites>
      AuthLDAPBindDN cn=userLdap,ou=appli,dc=domaine,dc=fr
      AuthLDAPBindPassword mdpUserLdap
      Options Includes Indexes FollowSymLinks
      XBitHack Full
      AllowOverride AuthConfig FileInfo Indexes Limit
      AddHandler cgi-script .cgi .pl
    </Directory>
    pour qu'ensuite les utilisateurs aient juste à mettre les lignes suivantes dans un .htaccess :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    AuthType Basic
    AuthName Authentification
    AuthLDAPURL ldap://srvLdap.ent.fr:389/ou=people,dc=domaine,dc=fr?uid?sub
    AuthLDAPAuthoritative off
    require valid-user
    Mais en faisant cela ça ne fonctionne pas, il faut absolument que AuthLDAPBindDN et AuthLDAPBindPassword soient dans le .htaccess.

    Avez-vous rencontrer ce problème ? et avez-vous trouver une solution pour ne pas communiquer un login/mdp aux utilisateurs ?

    Merci d'avance pour votre aide

  9. #9
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2004
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Salut,

    As tu essayer avec

    ?

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 16
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    oui j'ai essayé mais cela ne change rien.
    Pour info, j'ai fait les essais avec apache 2.0.52 et apache 2.2.2 mais je n'ai rencontré aucun changement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [LDAP] Recherche Active Directory
    Par Grimtork dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 15/09/2009, 16h14
  2. [LDAP] Authentification LDAP avec Active Directory
    Par sco_didier dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 20/01/2009, 16h36
  3. Réponses: 3
    Dernier message: 14/03/2006, 11h38
  4. Ldap sur Active Directory de W2003 avec IpWorks
    Par Gyles2 dans le forum Web & réseau
    Réponses: 2
    Dernier message: 08/10/2004, 11h46
  5. Ldap sur Active Directory de Win2003 avec IpWorks
    Par Gyles2 dans le forum Développement
    Réponses: 1
    Dernier message: 08/10/2004, 11h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo