Développent d'une application

Fermé
fleur_rose Messages postés 45 Date d'inscription vendredi 13 juillet 2012 Statut Membre Dernière intervention 6 janvier 2013 - 13 juil. 2012 à 11:08
fleur_rose Messages postés 45 Date d'inscription vendredi 13 juillet 2012 Statut Membre Dernière intervention 6 janvier 2013 - 13 juil. 2012 à 12:04
Bonjour,

J'essai de développer une application en PHP,
chaque utilisateur doit accéder à l'application par un non d'utilisateur et un mot de passe,
le problème que je trouve c'est que je veux que ces utilisateurs soit ceux de "l'active directory", qu'il aient les même comptes qu'ils ont déjà, mais je ne sais pas comment procéder et comment faire pour assurer l'authentification des utilisateur au moment où ils lancent l'application
Merci d'avance.
Je m'excuse si ce n'est pas la bonne rubrique pour poser ma question


A voir également:

2 réponses

Il faut utiliser un LDAP. Il te suffit de récupérer l'adresse de ton Active Directory et quelques autres informations.

http://www.commentcamarche.net/contents/php/phpldap.php3
0
$server = "server.ldap";// doit être un serveur LDAP valide!  
   
 $ds=ldap_connect($server);  
   
 if ($ds)  
 {  
  // Authentification  
  $ldap_pass = "password";  
  $base_dn = "dc=example,dc=com";  
  $identity = "login";  
    
  ldap_set_option($ds, LDAP_OPT_REFERRALS,0);  
  ldap_set_option ($ds, LDAP_OPT_PROTOCOL_VERSION, 3);// options nécessaire dans pour les active directory 2003  
    
  if (ldap_bind($ds,$identity,$ldap_pass))  
  {  
   $filter ="sAMAccountName=" . $login;  
     
   // Comparaison des valeurs  
   $read = ldap_search($ds,$base_dn,$filter) or exit(">>erreur lors de la recherche<<");  
     
   $info = ldap_get_entries($ds,$read);  
     
  $bind = FALSE;
			
   if(isset($info[0]) && !empty($info[0])) {

       $bind = ldap_bind($ds,$info[0]["dn"],$password);
   }

  echo ($bind) ? "Connecté" : "Pas connecté;
  }  
 }  
 else  
 {  
  echo "Connexion impossible.";  
 }
0
fleur_rose Messages postés 45 Date d'inscription vendredi 13 juillet 2012 Statut Membre Dernière intervention 6 janvier 2013
13 juil. 2012 à 11:34
Merci pour ta réponse, mais si tu peux m'expliquer un peu plus ça serai très gentil de ta part,
car je viens d'y commencer et je connais pas qu'est ce LDAP
0
LDAP te permet d'interroger des annuaires comprenant des données, par exemple des utilisateurs. Active Directory est le service LDAP de Microsoft.

Dans un premier temps on se connecte au serveur avec ldap_connect(). Une fois connecté il faut inialiser la liaison avec ldap_bind() qui comprend au minimum la ressource retournée par le ldap_connect().

Une fois connecté, on va faire une recherche de l'utilisateur avec un filtre (sAMAccountName pour Active Directory). On récupère les informations utlisateurs avec ldap_read. Cela permet de récupérer le dn complet de l'utilisateur (avec $info[0]['dn']). Il suffit alors de refaire un ldap_bind() avec cette fois le dn complet et le mot de passe pour voir si l'identification est bonne.
0
fleur_rose Messages postés 45 Date d'inscription vendredi 13 juillet 2012 Statut Membre Dernière intervention 6 janvier 2013
13 juil. 2012 à 12:04
Merci pour l'aide :)
0