php und domain controller

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php_und_domain_controller_111138/page_1 - zur Vollversion wechseln!


manalishi schrieb am 04.04.2004 um 16:32

hallo leute!

ich habe ein ganz spezielles problem mit php und ldap. ich versuche schon seit längerer zeit, einen benutzer gegen einen windows 2000 (oder 2003, wwi) domain controller zu verifizieren. es kann zwar eine verbindung hergestellt werden, der bind auf den server schlägt aber leider immer fehl.

was muss ich tun? ldaps? wenn ja: was für ein zertifikat brauche ich? woher bekomme ich es?

der webserver, auf dem ich herumexperimentiere ist eine win2k kiste, auf der apache2 und mod_php laufen. ist eine stinknormale xampp installation ohne jeglichen cache oder sowas.

besten dank :)


spunz schrieb am 04.04.2004 um 18:28

ka ob es auch unter apache/win32 geht, aber pam smb wäre ne möglichkeit.

http://www.google.com/search?q=apac...-8&oe=utf-8


manalishi schrieb am 04.04.2004 um 21:47

hmmm....
leider schauts mit pam eher schlecht aus (gibts für win32 afaik nicht). übrigens bin ich auf diese anforderungen von ms gestoßen:
http://support.microsoft.com/defaul...Ben-us%3B321051


BuSHidO schrieb am 06.04.2004 um 15:44

quatsch ...

php hat ein LDAP modul integriert
http://www.perlunity.de/php/manual/ref.ldap.shtml

Zitat
Hinweis für Win32 Benutzer: Um dieses Modul unter Windows nutzen zu können, müssen Sie libsasl.dll aus dem DLL Ordner des PHP/Win32 Packets in den SYSTEM32 Ordner Ihres Systems kopieren (z.B.: C:\WINNT\SYSTEM32 oder C:\WINDOWS\SYSTEM32).

Wichtig ist dabei das du zu deinem userobjekt mit dem du dich gegen das AD authentifizieren willst 100%ig den richtige Pfad angibst.
Ob du generell hinkommst überprüfst du mit einem anonymen bind.

Beispiel von http://www.perlunity.de

Code:
<?php
// Grundlegende Abfolge bei LDAP ist verbinden, binden, suchen,
// interpretieren des Sucheergebnisses, Verbindung schließen

echo "<h3>LDAP query Test</h3>";
echo "Verbindung ...";
$ds=ldap_connect("localhost");  // muss ein gültiger LDAP Server
                               // sein!
    echo "Ergebnis der Verbindung: ".$ds."<p>";

if ($ds) {
    echo "Bindung ...";
    $r=ldap_bind($ds);     // das ist ein "anonymer" bind,
                           // typischerweise nur Lese Zugriff
    echo "Ergebnis der Bindung ".$r."<p>";

    echo "Suche nach (sn=S*) ...";
    // Suchen des Nachnamen-Eintrags
    $sr=ldap_search($ds,"o=Meine Firma, c=DE", "sn=S*");
    echo "Ergebnis der Suche ".$sr."<p>";

    echo "Anzahl gefundenen Einträge ".ldap_count_entries($ds,$sr)."<p>";

    echo "Einträge holen ...<p>";
    $info = ldap_get_entries($ds, $sr);
    echo "Daten für ".$info["count"]." Items gefunden:<p>";

    for ($i=0; $i<$info["count"]; $i++) {
        echo "dn ist: ". $info[$i]["dn"] ."<br>";
        echo "erster cn Eintrag: ". $info[$i]["cn"][0] ."<br>";
        echo "erster email Eintrag: ". $info[$i]["mail"][0] ."<p>";
    }

    echo "Verbindung schließen";
    ldap_close($ds);

} else {
    echo "<h4>Verbindung zum LDAP Server nicht möglich</h4>";
}
?>

LDAPS http://php3.de/manual/de/function.ldap-connect.php (Den Kommentar ganz oben durchlesen)

cheers,

edit.:

einfacheres beispiel:

Code:
<PHP
$basedn = "OU=RootDSE, DC=domain, DC=de";
$lh = ldap_connect("www.mustermann.eu");
if ($lh) echo "Verbindung erfolgreich...<br>";
$id = ldap_bind($lh, $basedn,"") | die "Authentifizierung fehlgeschlagen";
PHP>


manalishi schrieb am 08.04.2004 um 17:26

glaubst du ich bin unfähig, die ldap erweiterung einzubinden? lol.


BuSHidO schrieb am 09.04.2004 um 13:08

nein, aber sie zu verwenden




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025