Moteur de recherche intranet
Résolu
Choupi12
-
Choupi12 -
Choupi12 -
A voir également:
- Moteur de recherche intranet
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Google moteur de recherche page d'accueil - Guide
- Copernic moteur de recherche - Télécharger - Navigateurs
- Copernic Desktop Search - Télécharger - Utilitaires
- Recherche de pairs utorrent ✓ - Forum Téléchargement
3 réponses
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 ????
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.