Mit PHP Daten aus AD auslesen

  • Hallo!

    Habe derzeit ein ziemliches Problem mit der LDAP Realisierung auf einen Windows 2003 Server.

    Ich möchte mit meiner Ubuntu Maschine mittels PHP Skript (LDAP) Daten aus dem Active Directory (Windows Server 2003) auslesen. Es sollte nichts gröberes sein, lediglich eine Abfrage der Userdaten im Active Directory.

    Was ich bisher gemacht habe:

    Apache2 installiert, PHP 5 installiert, PHP5-ldap installiert, Skript unter var/www/index.php geschrieben welches leider noch nicht funktionieren will.

    Müssen noch andere Pakete oder Dateien konfiguriert werden? Google hat mir zwar Änderungen von diversen php.ini Dateien etc. verraten, jedoch bezieht sich das auf Windows und nicht Linux wie in meinem Fall sofern ich das richtig interpretiert habe.

    Im späteren Teil möchte ich dann in dem Ordner wo das Skript liegt eine .htaccess Datei erstellen welches ein geschütztes Login bereitstellt, doch zuvor sollte mal ein normales anonymes Login auch funktionieren.

    Hier ein paar kleine verschiedene PHP Skripte zur Verbindung bzw. Bind an einem LDAP Server (Win2k3) von Linux Ubuntu, wo ich leider immer Fehlermeldungen bekomme dass die Verbindung fehlgeschlagen ist trotz Anpassung dieser Anleitungen http://at.php.net/manual/de/functionap-connect.php

    PS: kann ich die .local am ende der Domäne am Win2k3 verwenden wenn ich über ein Intranet von Linux aufs AD zugreifen möchte? Oder muss das eine .de .com sein?

    Bitte bitte um Hilfe! Häng hier leider schon seit Wochen dran...
    :confused:

    --------------------------------------------------------------
    SKRIPT 1


    <?php

    $connectid = ldap_connect("ldap://192.168.50.18",389)
    or die("Keine Verbindung zum LDAP server moeglich.");
    ldap_set_option($connectid, LDAP_OPT_PROTOCOL_VERSION, 3);
    @ldap_start_tls($connectid);


    // Verbindung zum AD herstellen
    $ldaprdn = 'cn=ldapuser,dc=nebula,dc=local'; // ldap rdn oder dn
    $ldappass = "Ldappw8";
    $sdn = 'ou=Marketing,dc=nebula,dc=local';

    // LDAP Abfrage
    // Ausgabe aller Daten
    $filter = "uid=*";


    ?>
    ----------------------------------------------------------------

    SKRIPT 2

    <?php

    // verwenden von ldap bind
    $ldaprdn = 'ldapuser';
    $ldappass = 'Ldappw8';

    $ldapconn = ldap_connect("ldap.nebula.local")
    or die("Keine Verbindung zum LDAP server moeglich.");

    if ($ldapconn) {

    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

    if ($ldapbind) {
    echo "LDAP bind erfolgreich...";
    } else {
    echo "LDAP bind fehlgeschlagen...";
    }

    }


    ?>
    -------------------------------------------------------

    SKRIPT 3 (Anonym)

    <?php

    // verwenden von ldap bind

    $ldapconn = ldap_connect("ldap.nebula.local")
    or die("Keine Verbindung zum LDAP server moeglich.");

    if ($ldapconn) {

    $ldapbind = ldap_bind($ldapconn);

    if ($ldapbind) {
    echo "LDAP bind erfolgreich...";
    } else {
    echo "LDAP bind fehlgeschlagen...";
    }

    }


    ?>
    --------------------------------------------------

    SKRIPT 4

    <?php

    $con = @ldap_connect('ldaps://192.168.50.18', 636);
    ldap_set_option($con, LDAP_OPT_PROTOCOL_VERSION, 3);
    ldap_set_option($con, LDAP_OPT_REFERRALS, 0);
    var_dump(@ldap_bind($con, 'ldapuser@nebula.local.', 'Ldappw8'));

    ?>

    --------------------------------------------------------------------

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!