marfeus
Goto Top

AD Daten lesen mittels php

Mein AD will nicht mit mir sprechen face-sad

hallo zusammen,
nach dem ich nun den ganzen tag vergeblich gesucht habe, versuche ich es nun einmal hier.
ganz kurz zu mir...
ich arbeite sehr viel mit mac-servern, nur ganz selten verirre ich mich in die welt der windows-server (immer dann wenn ein kunde eine spezifische umgebung hat). und genauso sind meine kenntnisse.
nach langem suchen und testen habe ich es auch endlich geschafft einen AD-Server zum laufen zu bringen. ich habe da auch meine domäne angelegt und ein paar gruppen und user.
soweit scheint es auch zu laufen.

nun aber zu meiner frage bzw. problem:
ich möchte über einen zweiten (externen) server mittels php die daten des ad auslesen. dabei geht es darum zunächst die strukturdaten zu ermitteln und dann mit filtern nur bestimmte werte zu holen, wie z.b. username, gruppe, usw.
diese daten möchte ich dann in einer website - im admin-bereich - anzeigen lassen.
der grund ist folgender.
in einem intranet soll eine website mit login aufgebaut werden. die user sind dabei die benutzer die sich bereits in ad befinden, damit sie nicht nochmals angelegt oder verwaltet werden müssen. im admin-bereich der website dient die auflistung der user bzw. gruppen nur der übersicht.

leider kann ich aber die abfragen erst gestalten, nachdem ich die datenstruktur ermittelt habe.

in meinem versuchsaufbau kann ich mich über php am ad anmelden und der ad bestätigt mich als bekannter user aber leider bekomme ich keine einträge über
hier ein kleiner ausschnitt aus dem php-script

$ldap_server = "192.168.178.230";
$auth_user = "admin@winldap.testserver.de";
$auth_pass = "xxx";
$base_dn = "OU=Anwender,,DC=winldap.testserver.de,DC=local";
$filter = "(cn=*)";
if (!($bind=@ldap_bind($connect, $auth_user, $auth_pass))) {
die("Unable to bind to server");
}
if (!($search=@ldap_search($connect,$base_dn,$filter))) {
die("Unable to search ldap server");
}
$number_returned = ldap_count_entries($connect,$search);
$info = ldap_get_entries($connect, $search);

ich habe auch schon versucht die filter oder die base_dn zu verändern. leider habe ich aber keine info bekommen (info ist leer)
der ad ist mit hilfe des assistenten installiert worden und auch der dns wurde automatisch angelegt.
ich weis leider nicht ob ich noch etwas am ad einstellen muss - und wenn ja wo???? - damit ich die nötigen werde bekomme.
werde wie z.b.

laut eines scriptes sollte etwa so etwas rauskommen:
echo "". $info[$i]["givenName"].$comma;
echo "". $info[$i]["sn"].$comma;
echo "". $info[$i]["title"].$comma;
echo "". $info[$i]["homePhone"].$comma;
echo "". $info[$i]["facsimileTelephoneNumber"].$comma;
echo "". $info[$i]["mail"].$comma;
echo "". $info[$i]["company"].$comma;
echo "". $info[$i]["streetAddress"].$comma;
echo "". $info[$i]["postalCode"].$comma;
echo "". $info[$i]["l"].$comma;
echo "". $info[$i]["extensionAttribute2"];
echo "".$newline;
nur leider nicht bei mir.


vielen dank schon mal im voraus

Content-Key: 56297

Url: https://administrator.de/contentid/56297

Printed on: April 16, 2024 at 18:04 o'clock

Member: Goribun
Goribun Jul 24, 2007 at 21:05:03 (UTC)
Goto Top
Moin moin,

ich muß gestehen, ich bin kein Profi, oder sowas. face-wink
Ich frage mich aber ob folgende Stellen in deinem Code beabsichtigt sind:

$ldap_server =
"192.168.178.230";
$auth_user =
"admin@winldap.testserver.de";
$auth_pass = "xxx";
$base_dn =
"OU=Anwender,,DC=winldap.testserver.de,DC=local";
$filter = "(cn=*)";

Mir fällt auf, das die Domain offentsichtlich "winldap.testserver.de" heisst.
In der Searchbase gibst du an, das die Domain "winldap.testserver.de.local" heisst.
Ausserdme, ist in der Searchbase ein "Doppelkomma" vorhanden und ich weiß nicht, ob das dahin gehört.
Hast Du das ganze mal ohne den Filter "cn=*" probiert?

greedinks
Jörg