Connexion active directory
Fermé
yossra
-
31 août 2020 à 12:07
yg_be Messages postés 23483 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 7 mars 2025 - 14 sept. 2020 à 14:27
yg_be Messages postés 23483 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 7 mars 2025 - 14 sept. 2020 à 14:27
Bonjour,
je veux connecter a l'active directory avec windows 10
pour collecter les informations sur les personnels connectées mais je ne connais pas comment je fais cette connexion
je veux connecter a l'active directory avec windows 10
pour collecter les informations sur les personnels connectées mais je ne connais pas comment je fais cette connexion
Configuration: Windows / Edge 84.0.522.63
A voir également:
- Connexion active directory
- Gmail connexion - Guide
- Gmail connexion autre compte - Guide
- Directory list & print - Télécharger - Divers Utilitaires
- Connexion chromecast - Guide
- Facebook connexion - Guide
29 réponses
yg_be
Messages postés
23483
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 mars 2025
Ambassadeur
1 568
31 août 2020 à 12:33
31 août 2020 à 12:33
bonjour, moi j'essaierais avec ceci: https://www.php.net/manual/fr/ref.ldap.php
merci j'ai utilisé ce site mais ca marche pas ,est ce que j'ai besoin d'utiliser l
e nom du domaine et la racine pour acceder a mon compte?
e nom du domaine et la racine pour acceder a mon compte?
yg_be
Messages postés
23483
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 mars 2025
1 568
31 août 2020 à 13:04
31 août 2020 à 13:04
"ca marche pas": qu'as-tu essayé, qu'as-tu obtenu?
<?php session_start(); include('Connexion/connexion.php'); $_SESSION['ERREUR'] = ""; //verification cookie if(!empty($_SERVER['REMOTE_USER'])) { include_once('Connexion/ldap_connexion.php'); session_start(); $ldapConn = ldap_connect($ldapServer ) or $this->msg = "ERROR CONNECT LDAP"; $userName = explode("\\", $_SERVER['REMOTE_USER']); $query = "sAMAccountName=".$userName[1]; ldap_set_option($ldapConn,LDAP_OPT_PROTOCOL_VERSION,3); ldap_set_option($ldapConn,LDAP_OPT_REFERRALS,0); $ldapBind = ldap_bind($ldapConn,$rdn,$mdp); $ldapResult = ldap_search($ldapConn,$baseDN,$query); $info = ldap_get_entries($ldapConn,$ldapResult); $currentUserInformation = array(); for ($i=0; $i < $info ["count"]; $i++) { $mail = $info[$i]["mail"][0]; } ldap_unbind($ldapConn); // Vérification des identifiants $req = $bdd->prepare('SELECT id_personne FROM personne WHERE mail = :mail'); $req->execute(array( 'mail' => $mail)); $resultat = $req->fetch(PDO::FETCH_ASSOC); if ($resultat) { setcookie('id_personne', $resultat['id_personne'], time() + 365*24*3600, "/"); $_SESSION['id_personne'] = $resultat['id_personne']; header('Location: accueil.php'); // redirige vers l'accueil } } else if (!empty($_COOKIE['id_personne'])) { $id_personne = $_COOKIE['id_personne']; // Remplace les simple quote par des double quote pour éviter les problemes d'injection sql setcookie('id_personne', $id_personne, time() + 365*24*3600, "/"); $_SESSION['id_personne'] = $id_personne; header('Location: accueil.php'); // redirige vers l'accueil } else if ((!empty($_POST['login']) && !empty($_POST['mdp']))) { $login = $_POST['login']; // Remplace les simple quote par des double quote pour éviter les problemes d'injection sql $mdp = sha1($_POST['mdp']); // Vérification des identifiants $req = $bdd->prepare('SELECT id_personne FROM personne WHERE login = :login AND mdp_personne = :mdp'); $req->execute(array( 'login' => $login, 'mdp' => $mdp)); $resultat = $req->fetch(PDO::FETCH_ASSOC); if (!$resultat) { $_SESSION['ERREUR'] = "Login et/ou mot de passe incorrect"; // Message d'erreur } else { setcookie('id_personne', $resultat['id_personne'], time() + 365*24*3600, "/"); $_SESSION['id_personne'] = $resultat['id_personne']; header('Location: accueil.php'); // redirige vers l'accueil } } ?> <!DOCTYPE html> <html> <head> <title>Login</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" > <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" > <link rel="stylesheet" href="css/formulaire.css" > <link rel="stylesheet" href="css/general.css" > </head> <script src="js/jquery.min.js"></script> <script src="bootstrap/js/bootstrap.min.js"></script> <body> <body class="couleur3"> <!-- header --> <?php if(!empty($_SESSION['ERREUR'])) { echo ' <div class="alert alert-warning message" style="font-size:20px;"> <a href="#" class="close" data-dismiss="alert">×</a> '.$_SESSION['ERREUR'].' </div>'; session_destroy(); } ?> <form id="form_connexion" class="form-login" method='post' action="#" > <fieldset class="col-md-3 col-md-offset-4 login"> <form action="#" id="info" method="post"> <div class="form-group"> <label for="login-text" class="form-control-label">login:</label> <input type="text" class="form-control" name="login" id="login" required> </div> <div class="form-group"> <label for="mdp-name" class="form-control-label">mot de passe:</label> <input type="password" class="form-control" name="mdp" id="mdp" required> </div> <button type="submit" id="submit" name="submit" class="btn btn-success col-md-offset-2 button-log">Connexion</button> </form> </fieldset> </body> </body> </html>
yg_be
Messages postés
23483
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 mars 2025
1 568
31 août 2020 à 20:07
31 août 2020 à 20:07
qu'as-tu obtenu?
yg_be
Messages postés
23483
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 mars 2025
1 568
31 août 2020 à 20:08
31 août 2020 à 20:08
peux-tu indenter ton code avant de le partager?
( ! ) Warning: include(Connexion/connexion.php): failed to open stream: No such file or directory in C:\wamp64\www\connexion.php on line 3
Call Stack
# Time Memory Function Location
1 0.0006 408016 {main}( ) ...\connexion.php:0
( ! ) Warning: include(): Failed opening 'Connexion/connexion.php' for inclusion (include_path='.;C:\php\pear') in C:\wamp64\www\connexion.php on line 3
Call Stack
# Time Memory Function Location
1 0.0006 408016 {main}( ) ...\connexion.php:0
login:
6501
mot de passe:
••••
Connexion
yg_be
Messages postés
23483
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 mars 2025
1 568
1 sept. 2020 à 10:05
1 sept. 2020 à 10:05
pourquoi veux-tu faire cela?
as-tu déjà beaucoup travaillé en php?
as-tu déjà beaucoup travaillé en php?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
non mais je trouve ce code dans l'internet parce que j'ai pas de solution
yg_be
Messages postés
23483
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 mars 2025
1 568
1 sept. 2020 à 18:48
1 sept. 2020 à 18:48
ne devrais-tu pas d'abord te former avant de faire ce travail?
est-ce utile de chercher des codes sans les comprendre?
est-ce utile de chercher des codes sans les comprendre?
jordane45
Messages postés
38446
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 février 2025
4 739
1 sept. 2020 à 20:54
1 sept. 2020 à 20:54
Bonjour,
Vu le message d'erreur
c'est qu'il ne trouve pas le fichier
Donc... as tu un dossier nommé Connexion ?
Dedans.. as tu un fichier nommé connexion.php ?
Que contient ce fichier ? ( pense à utiliser les balises de code et à indenter ton code !! )
Vu le message d'erreur
Warning: include(Connexion/connexion.php): failed to open stream: No such file or directory in C:\wamp64\www\connexion.php on line 3
c'est qu'il ne trouve pas le fichier
include('Connexion/connexion.php');
Donc... as tu un dossier nommé Connexion ?
Dedans.. as tu un fichier nommé connexion.php ?
Que contient ce fichier ? ( pense à utiliser les balises de code et à indenter ton code !! )
non j'ai pas cette fichier je compremds ma faute mais je ne trouve pas la solution
yg_be
Messages postés
23483
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 mars 2025
1 568
2 sept. 2020 à 16:31
2 sept. 2020 à 16:31
comprends-tu ce que fait le code que tu as écrit?
jordane45
Messages postés
38446
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 février 2025
4 739
2 sept. 2020 à 17:39
2 sept. 2020 à 17:39
Comme le fait remarquer Yg_be ... copier/coller bêtement un script sans chercher à le comprendre est une grosse co**** !!
Voici de quoi comprendre un minimum comment ça marche :
https://www.commentcamarche.net/contents/798-php-connexion-a-un-annuaire-ldap
Voici de quoi comprendre un minimum comment ça marche :
https://www.commentcamarche.net/contents/798-php-connexion-a-un-annuaire-ldap
<?php $server = "localhost"; $port = "389"; $racine = "o=inet, c=home"; $rootdn = "cn=Stage,o=inet, c=home"; $rootpw = "Stage2020"; echo "Connexion...<br>"; $ds=ldap_connect($server); if ($ds==1) { // on s'authentifie en tant que super-utilisateur, ici, ldap_admin $r=ldap_bind($ds,$rootdn,$rootpw); // Ici les opérations à effectuer echo "Déconnexion...<br>"; ldap_close($ds); } else { echo "Impossible de se connecter au serveur LDAP"; } ?>
jordane45
Messages postés
38446
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 février 2025
4 739
3 sept. 2020 à 15:38
3 sept. 2020 à 15:38
là ce n'est plus un souci de code php ..... mais vraisemblablement d'identifiants...
Tu peux toujours essayer d'ajouter cette ligne dans ton else
ça devrait te donner un peu plus d'infos sur l'erreur rencontrée.
Tu peux toujours essayer d'ajouter cette ligne dans ton else
ldap_err2str( ldap_errno() );
ça devrait te donner un peu plus d'infos sur l'erreur rencontrée.
yossra
>
jordane45
Messages postés
38446
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 février 2025
3 sept. 2020 à 16:02
3 sept. 2020 à 16:02
( ! ) Warning: ldap_errno() expects exactly 1 parameter, 0 given in C:\wamp64\www\connex.php on line 25
Call Stack
# Time Memory Function Location
1 0.1061 408528 {main}( ) ...\connex.php:0
2 0.1585 408560 ldap_errno ( ) ...\connex.php:25
Call Stack
# Time Memory Function Location
1 0.1061 408528 {main}( ) ...\connex.php:0
2 0.1585 408560 ldap_errno ( ) ...\connex.php:25
jordane45
Messages postés
38446
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 février 2025
4 739
>
yossra
3 sept. 2020 à 16:14
3 sept. 2020 à 16:14
yossra
>
jordane45
Messages postés
38446
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 février 2025
3 sept. 2020 à 20:13
3 sept. 2020 à 20:13
Connexion...
( ! ) Warning: ldap_errno() expects exactly 1 parameter, 0 given in C:\wamp64\www\connex.php on line 25
Call Stack
# Time Memory Function Location
1 0.1376 408704 {main}( ) ...\connex.php:0
2 0.1578 408736 ldap_errno ( ) ...\connex.php:25
ldap-error:Success
Impossible de se connecter au serveur LDAP
( ! ) Warning: ldap_errno() expects exactly 1 parameter, 0 given in C:\wamp64\www\connex.php on line 25
Call Stack
# Time Memory Function Location
1 0.1376 408704 {main}( ) ...\connex.php:0
2 0.1578 408736 ldap_errno ( ) ...\connex.php:25
ldap-error:Success
Impossible de se connecter au serveur LDAP
yg_be
Messages postés
23483
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 mars 2025
1 568
>
yossra
3 sept. 2020 à 20:18
3 sept. 2020 à 20:18
qu'en penses-tu? le message n'est-il pas clair?
jordane45
Messages postés
38446
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 février 2025
4 739
4 sept. 2020 à 09:35
4 sept. 2020 à 09:35
il ne faut pas hésiter à regarder la documentation (surtout que je t'ai donné le lien...)
https://www.php.net/manual/fr/function.ldap-errno.php
https://www.php.net/manual/fr/function.ldap-err2str.php
Et pas conséquent, corriger le code
par
https://www.php.net/manual/fr/function.ldap-errno.php
https://www.php.net/manual/fr/function.ldap-err2str.php
Et pas conséquent, corriger le code
ldap_err2str( ldap_errno() );
par
echo ldap_err2str( ldap_errno($ds) );
else { echo"ldap-error:".ldap_err2str(ldap_errno())."<br>\n"; echo "Impossible de se connecter au serveur LDAP"; }
Connexion...
( ! ) Warning: ldap_bind(): Unable to bind to server: Can't contact LDAP server in C:\wamp64\www\connex.php on line 16
Call Stack
# Time Memory Function Location
1 0.0274 407832 {main}( ) ...\connex.php:0
2 0.0516 408184 ldap_bind ( ) ...\connex.php:16
Déconnexion...
( ! ) Warning: ldap_bind(): Unable to bind to server: Can't contact LDAP server in C:\wamp64\www\connex.php on line 16
Call Stack
# Time Memory Function Location
1 0.0274 407832 {main}( ) ...\connex.php:0
2 0.0516 408184 ldap_bind ( ) ...\connex.php:16
Déconnexion...
else { echo"ldap-error:".ldap_errno()."<br>\n"; echo "Impossible de se connecter au serveur LDAP"; }
Connexion...
( ! ) Warning: ldap_bind(): Unable to bind to server: Can't contact LDAP server in C:\wamp64\www\connex.php on line 16
Call Stack
# Time Memory Function Location
1 0.0003 408000 {main}( ) ...\connex.php:0
2 0.0003 408352 ldap_bind ( ) ...\connex.php:16
Déconnexion...
( ! ) Warning: ldap_bind(): Unable to bind to server: Can't contact LDAP server in C:\wamp64\www\connex.php on line 16
Call Stack
# Time Memory Function Location
1 0.0003 408000 {main}( ) ...\connex.php:0
2 0.0003 408352 ldap_bind ( ) ...\connex.php:16
Déconnexion...
jordane45
Messages postés
38446
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 février 2025
4 739
4 sept. 2020 à 16:17
4 sept. 2020 à 16:17
Donc ton erreur se situe dans le bin.
Et au cas où ... voici un exemple propre de code que tu peux utiliser
https://www.php.net/manual/fr/function.ldap-search.php#112191
A noter que les erreurs que tu nous montres jusqu'à maintenant semblent plus liés à des soucis de paramétrages/identifiants qu'à des soucis de code php....
Hors.. nous ne sommes pas admin de ton réseau et ne pourrons pas t'aider à trouver les identifiants à utiliser !
$ds=ldap_connect($server); if ($ds==1) { // on s'authentifie en tant que super-utilisateur, ici, ldap_admin $ldapbind=ldap_bind($ds,$rootdn,$rootpw) or die (ldap_err2str( ldap_errno($ds) ); // verify binding if ($ldapbind) { // Ici les opérations à effectuer echo "Déconnexion...<br>"; ldap_close($ds); } else { echo "Erreur BIND !"; } } else { echo "Impossible de se connecter au serveur LDAP"; }
Et au cas où ... voici un exemple propre de code que tu peux utiliser
https://www.php.net/manual/fr/function.ldap-search.php#112191
A noter que les erreurs que tu nous montres jusqu'à maintenant semblent plus liés à des soucis de paramétrages/identifiants qu'à des soucis de code php....
Hors.. nous ne sommes pas admin de ton réseau et ne pourrons pas t'aider à trouver les identifiants à utiliser !
est-il possible de se connecter a l'active directory sans utiliser le serveur ldap?
jordane45
Messages postés
38446
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 février 2025
4 739
Modifié le 8 sept. 2020 à 12:02
Modifié le 8 sept. 2020 à 12:02
ben.... non.....
Ldap... ça fonctionne avec un AD
Ldap... ça fonctionne avec un AD
Active Directory est un annuaire au format Microsoft qui a pour objectif de stocker des données qualifiées d’objets.
Quant au LDAP, il s’agit d’un protocole d’accès aux informations. L’outil permet d’échanger des renseignements entre les annuaires compatibles au protocole.
est si AD fonctionne avec un autre serveur?
yg_be
Messages postés
23483
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 mars 2025
1 568
8 sept. 2020 à 12:01
8 sept. 2020 à 12:01
LDAP est le protocole utilisé pour communiquer avec l'AD.
ici, le serveur LDAP, c'est l'ordinateur sur lequel fonctionne l'AD.
est-ce réellement le serveur sur lequel tourne Apache?
ici, le serveur LDAP, c'est l'ordinateur sur lequel fonctionne l'AD.
est-ce réellement le serveur sur lequel tourne Apache?
jordane45
Messages postés
38446
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 février 2025
4 739
8 sept. 2020 à 12:14
8 sept. 2020 à 12:14
Et bien quoi ?
Le PC qui héberge ton code php se trouve sur le même réseau ?
Les informations utilisées dans ton script PHP sont les bonnes ?
As tu demandé aux admin de ton réseau ?
Le PC qui héberge ton code php se trouve sur le même réseau ?
Les informations utilisées dans ton script PHP sont les bonnes ?
As tu demandé aux admin de ton réseau ?
Le PC qui héberge ton code php se trouve sur le même réseau ?oui il se trouve sur un reseau privé
Les informations utilisées dans ton script PHP sont les bonnes ?non parce que la société ne donne pas des informations
As tu demandé aux admin de ton réseau ?non
quelle les infomations que j'ai besoin pour connecter a l' AD
Les informations utilisées dans ton script PHP sont les bonnes ?non parce que la société ne donne pas des informations
As tu demandé aux admin de ton réseau ?non
quelle les infomations que j'ai besoin pour connecter a l' AD
jordane45
Messages postés
38446
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 février 2025
4 739
8 sept. 2020 à 13:10
8 sept. 2020 à 13:10
Et bien il te faut les informations qui correspondent à ces variables
$server = "localhost"; $port = "389"; $racine = "o=inet, c=home"; $rootdn = "cn=Stage,o=inet, c=home"; $rootpw = "Stage2020";
comment je peux changer cette partie de code pour faire ca
//Get standard users and contacts $search_filter ='(|(objectCategory=person)(objectCategory=contact))'; //Connect to LDAP $result = ldap_search($ldap_connection, $ldap_base_dn, $search_filter);
yg_be
Messages postés
23483
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 mars 2025
1 568
9 sept. 2020 à 16:19
9 sept. 2020 à 16:19
le code fonctionne bien, sans erreur, tel qu'il est?
yg_be
Messages postés
23483
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 mars 2025
1 568
>
yg_be
Messages postés
23483
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 mars 2025
Modifié le 9 sept. 2020 à 16:36
Modifié le 9 sept. 2020 à 16:36
si oui, que sais-tu de l'utilisateur que tu veux filtrer? tu as son Username, comme il s'affiche dans la première colonne de la table?
si oui, peut-être ainsi:
si oui, peut-être ainsi:
$search_filter = "sAMAccountName=".$userName;