Avatar billede z1n Nybegynder
20. juni 2005 - 11:34 Der er 13 kommentarer og
1 løsning

PHP og Novell data (LDAP)

Hej,

Jeg sidder lige og bakser med noget forbindelse til LDAP hvor jeg vil hente information ud fra vores nds træ. alle eksempler jeg kan finde er med AD :( help me... mit script ser so far sådan ud: (det failer ved search!
   
    $host = "ldapserver1";
    $user = "username";
    $psw = "psw";
   
    $context = "cn=$user.ou=Brugere.ou=container2.ou=container1.o=tree";
   
    echo "Connecting ...";
    $ldap =& ldap_connect($host);
    echo "connect result is " . $ldap . "<br />";
    if($ldap) {
        echo "Binding ...";
        $bind=&ldap_bind($ldap, $context);
        echo "Bind result is " . $bind . "<br />";

        echo "Searching for ...";
          $sr=ldap_search($ldap, "hvad fuck skal stå her når det er novell !?!");
        echo "Search result is " . $sr . "<br />";
   
        echo "Number of entires returned is " . ldap_count_entries($ds, $sr) . "<br />";       
           
        echo "Closing connection";
        ldap_close($ldap);
    }
    else {
        echo "Kunne ikke oprette forbindelse til LDAP serveren ($host)";
    }
Avatar billede z1n Nybegynder
20. juni 2005 - 11:35 #1
det er fixet lidt sammen med eksempler fra php.net
Avatar billede z1n Nybegynder
20. juni 2005 - 12:39 #2
argh kom nu !
Avatar billede zeled Nybegynder
20. juni 2005 - 12:45 #3
jeg har lavet et som henter alle navne :D
Avatar billede z1n Nybegynder
20. juni 2005 - 12:51 #4
fra nds ?
Avatar billede zeled Nybegynder
20. juni 2005 - 12:51 #5
Ja
Avatar billede zeled Nybegynder
20. juni 2005 - 12:53 #6
Dette script virker med LDAP på NW65.

Den benytter sig af LDAP_BIND som kræver userlogin.

$host="xxx.xxx.xxx.xxx";
$dn="ou=yyyy,o=yyyy";

$ldapres = ldap_connect($host);
if (!$ldapres) echo "Failed, $ldapres";
$ldapbind=ldap_bind($ldapres,"cn=ldapuser,o=org","password");
if (!$ldapbind) die ("AUTH FAILED");
$res=ldap_list($ldapres,$dn,'sn=*');
if (!$res) die( "Failed, $res");
$sr=ldap_get_entries($ldapres,$res);
if (!$sr) die( "<br>Failed, $sr");

$names=array();
for ($entryID=ldap_first_entry($ldapres,$res);$entryID!=false;$entryID=ldap_next_entry($ldapres,$entryID))
{
$a=ldap_get_attributes($ldapres,$entryID);
if (!isset($a['mail'][0])) $emptyent++;
else
{
  $xyz=explode('@',$a['mail'][0]);
  $name[]=strtoupper($xyz[0]);
  if (!in_array(strtolower($xyz[0]),$excludelist)) //$excludelist er et array med CN som ikke skal med
  {
  $names["".strtolower($xyz[0]).""]['navn']=utf8_decode($a['givenName'][0])." ".utf8_decode($a['sn'][0]);
  $names["".strtolower($xyz[0]).""]['titel']=utf8_decode($a['title'][0]);
  $names["".strtolower($xyz[0]).""]['tlf']=$a['telefon'][0];
  $names["".strtolower($xyz[0]).""]['init']=strtoupper($a['cn'][0]);

  }
}
}
Avatar billede zeled Nybegynder
20. juni 2005 - 12:54 #7
Alle CN ender således i $NAMES arrayet som du så kan gøre med som du lyster ;)
Avatar billede z1n Nybegynder
20. juni 2005 - 12:59 #8
men hvordan skal ou og o defineres ... hvis jeg nu min context til bruger containeren er  brugere.container1.container2.container3 er ou så bare ou=brugere ? og hvad skal o være ?
Avatar billede zeled Nybegynder
20. juni 2005 - 13:34 #9
$dn="<context til brugere>";
//Ligesom du gør normalt f.eks. ou=brugere,o=organization

$ldapbind=ldap_bind($ldapres,"cn=ldapuser,o=org","password");
//cn=ldapuser,o=org skal ændres til en reelt bruger, f.eks. den du logger ind med til hverdag.
Avatar billede zeled Nybegynder
20. juni 2005 - 13:47 #10
ou=brugere,ou=container1,ou=container2,o=container3
Avatar billede z1n Nybegynder
20. juni 2005 - 13:47 #11
definer o=organization !
Avatar billede z1n Nybegynder
20. juni 2005 - 13:48 #12
ahh k
Avatar billede z1n Nybegynder
20. juni 2005 - 14:28 #13
det gav bonus ... 1000 tak ... lig et svar
Avatar billede zeled Nybegynder
20. juni 2005 - 14:31 #14
Whee :D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester