Moteur de recherche intranet
Résolu/Fermé
A voir également:
- Moteur de recherche intranet
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Google moteur de recherche page d'accueil - Guide
- Safari moteur de recherche - Télécharger - Navigateurs
- Installer qwant moteur de recherche - Télécharger - Navigateurs
- Intranet sncf ✓ - Forum Réseaux sociaux
3 réponses
Archeus01
Messages postés
1571
Date d'inscription
mercredi 3 octobre 2007
Statut
Membre
Dernière intervention
9 juin 2022
449
30 juin 2009 à 14:54
30 juin 2009 à 14:54
oui tu peux avec ldap_search... UN code complet avec connexion (manque la déconnexion mais bon)
$ds = ldap_connect("ldap://".AD_DC.".".AD_DOMAIN) or die("Erreur de connexion à AD!");
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);
if ($ds) {
// Connexion avec une identité qui permet les modifications
// if (ldap_bind($ds, AD_USER."@".AD_DOMAIN, AD_PASS)) {echo RL."identification ok".RL; }
if (ldap_bind($ds, "nom_entreprise"."@".AD_DOMAIN, "taper_password")) {echo RL."identification ok".RL; }
else { echo RL."Problème d'identification ";}
// On va chercher l'identifiant DN exact de la personne à modifier.
//On indique ce qu'il faut pour recherhcer
//La présence des intiales est uniquement la comme test.
$dn = "OU=Users nom_entreprise,".BASE_DN;
$person="fred";
$filter="(|(sn=$person*)(givenname=$person*))";
$justthese = array("dn","initials");
//On lance la recherche
$sr=ldap_search($ds, $dn, $filter, $justthese);
//On cherche dans le résultat le dn
$info = ldap_get_entries($ds, $sr);
//var_dump($info);
$dn = $info[0]['dn'];
if (is_string($info[0]['initials'][0]) == false) {$initiale = $info[0]['initials'][0];echo "défini";}
else { $initiale ="";echo "pas défini"; }
//Echo qui permet de tester, RL est un retour à la ligne
echo RL."dn : $dn";
echo RL."initial : $initiale".RL;
$ds = ldap_connect("ldap://".AD_DC.".".AD_DOMAIN) or die("Erreur de connexion à AD!");
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);
if ($ds) {
// Connexion avec une identité qui permet les modifications
// if (ldap_bind($ds, AD_USER."@".AD_DOMAIN, AD_PASS)) {echo RL."identification ok".RL; }
if (ldap_bind($ds, "nom_entreprise"."@".AD_DOMAIN, "taper_password")) {echo RL."identification ok".RL; }
else { echo RL."Problème d'identification ";}
// On va chercher l'identifiant DN exact de la personne à modifier.
//On indique ce qu'il faut pour recherhcer
//La présence des intiales est uniquement la comme test.
$dn = "OU=Users nom_entreprise,".BASE_DN;
$person="fred";
$filter="(|(sn=$person*)(givenname=$person*))";
$justthese = array("dn","initials");
//On lance la recherche
$sr=ldap_search($ds, $dn, $filter, $justthese);
//On cherche dans le résultat le dn
$info = ldap_get_entries($ds, $sr);
//var_dump($info);
$dn = $info[0]['dn'];
if (is_string($info[0]['initials'][0]) == false) {$initiale = $info[0]['initials'][0];echo "défini";}
else { $initiale ="";echo "pas défini"; }
//Echo qui permet de tester, RL est un retour à la ligne
echo RL."dn : $dn";
echo RL."initial : $initiale".RL;
Merci beaucoup. Sa a l'air hyper technique quand méme !
Je pensais juste faire un champs de recherche avec un bouton "Lancer la recherche" pour que sa me donne le nom des utilisateurs quoi.
Sa peut marcher avec ton code ????
Je pensais juste faire un champs de recherche avec un bouton "Lancer la recherche" pour que sa me donne le nom des utilisateurs quoi.
Sa peut marcher avec ton code ????
Archeus01
Messages postés
1571
Date d'inscription
mercredi 3 octobre 2007
Statut
Membre
Dernière intervention
9 juin 2022
449
30 juin 2009 à 15:09
30 juin 2009 à 15:09
Ben dés qu'on travaille avec active directory, on travaille avec LDAP et oui c'est galère mlais ça marche. Mais en même temps, si tu as affiché la liste des utilisateurs, tu as déjà du y toucher...
C'est souvent plus simple de copier les résultats dans une table MySql...
En même temps les 4 ligne qui t'intéresent son celles-ci :
$person="nom_saisi_dans_ton_champ_de_recherche";
$filter="(|(sn=$person*)(givenname=$person*))";
$justthese = array("dn","initials");
//On lance la recherche
$sr=ldap_search($ds, $dn, $filter, $justthese);
Moi,si j'avais ton truc à faire, je travaillerais avec du java script pour chercher quelle ligne afficher et cacher les autres, mais après chacun son truc.
C'est souvent plus simple de copier les résultats dans une table MySql...
En même temps les 4 ligne qui t'intéresent son celles-ci :
$person="nom_saisi_dans_ton_champ_de_recherche";
$filter="(|(sn=$person*)(givenname=$person*))";
$justthese = array("dn","initials");
//On lance la recherche
$sr=ldap_search($ds, $dn, $filter, $justthese);
Moi,si j'avais ton truc à faire, je travaillerais avec du java script pour chercher quelle ligne afficher et cacher les autres, mais après chacun son truc.