tht-fsk45
Goto Top

LDAP PHP Benutzer(AD) Authentifizierung Problem

Hallo,

ich bin momentan am versuchen folgendes zu Realisieren: Eine Überprüfung der Richtigkeit der Benutzer Daten des AD's. Von der Logik her sollte es eigentlich laufen, nur tut es das nicht. Ich habe mich schon im Internet an verschiedensten stellen informiert bevor ich damit angefangen haben. Ich habe nun die Vermutung das ich irgendwas übersehen habe, bzw. dadurch das ich mich mit verschiedenen Quellen (mehr oder weniger) schlau gemacht habe mir irgendwas fehlt.

Kann mir da einer evtl. weiter helfen?

Aufbau:
- 2 Virtuelle Maschinen in einen internen Netzwerk: 1. Windows Microsoft Server 2008 R2 (Testversion da ich es momentan nur privat ausprobiere), 2. Windows XP SP3.
- Auf den Server: Active Directory, Active Directory Lightweight Directory Services (AD LDS),Instanzen - sind eingerichtet
- Auf der XP Maschine: Xampp
- Der html-Teil zum einlesen der Benutzer Daten:

<html>
    <head>
    </head>
    <body>
          <h1>PHP - LADP Test </h1>
          <h2>Login:</h2>
          <p>Username:</p>
          <form method="post" action="login.php">  
                <input name="user" type="text" size="30" maxlength="30"></p>  
                <p>Password:</p>
                <input name="pw" type="password" size="30" maxlength="40"></p>  
                <input type="submit" name="Button" value="Anmelden">  
          </form>
    </body>
    </html>

- Der php-Teil:

<?php
$user = $_POST[user];
$passwd = $_POST[pw];

function ad_check ($user,$passwd) 
 { 
   $ldapserver = '[VMMASCHINE.test.Lokal]';   
   $con=ldap_connect($ldapserver); 
   if ($con) 
    { 
	  echo "Connected ";  
	  $dat="CN=$user,CN=Users, DC=[VMMASCHINE], DC=[test], DC=[local]";   
          $bind=@ldap_bind($con,$dat,$passwd);
	  
       if ($bind) 
        { 
          echo "Angemeldet";  
		  return true;
        } 
       else 
        { 
          echo "Nicht Angemeldet";  
		  return false; 
        } 
     } 
 }
ad_check ($user, $passwd);
 ?>



So das dazu.

Das läuft soweit das einzige was nicht hinhaut ist das der Connect klappt aber auch mit den Richtigen Anmelde Daten ein "Connected Nicht Angemeldet" kommt.
Habe ich irgendwas übersehen bzw. irgendwas nicht eingerichtet oder woran kann es liegen?

Schon mal vielen dank für eure Hilfe und mit freundlichen Grüßen,

Fsk45 face-smile

Content-ID: 184634

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

Ausgedruckt am: 22.11.2024 um 20:11 Uhr

godlie
godlie 08.05.2012 um 12:50:02 Uhr
Goto Top
Hallo,

nimm mal das @ aus der Zeile 13 raus, dass unterdrückt dir nämlich die Fehlermeldungen.
Dirmhirn
Dirmhirn 08.05.2012 um 13:24:50 Uhr
Goto Top
HI!

hast du dir schon einmal $user und $passwd ausgeben lassen?

http://adldap.sourceforge.net/ - ist ganz praktisch. macht aber Sinn wenn du dir zuerst die "Grundlagen" ansiehst - wie du es eh machst.

sg Dirm
THT-Fsk45
THT-Fsk45 08.05.2012 um 13:58:50 Uhr
Goto Top
Danke für die schnellen Antworten face-smile

ohne @ in Zeile 13 wird die Warnung:
"Warning: ldap_bind() [function.ldap-bind]: Unable to bind to server: Can't contact LDAP server in C:\xampp\xampp\htdocs\test\login.php on line 13"

kann es sein das es an xampp liegt? das ";" vorm "extension=php_ldap.dll" in der php.ini habe ich weg genommen um ldap zu aktivieren nur lag die in "xampp/php" in den Beschreibungen überall im Netz lag die Datei an anderer Stelle. Ich habe nämlich eine ältere xampp Version (2.5 (9. May, 2007)) weil die neueren irgendwie bei mir auf den XP-Maschine nicht funktionierten ... kann es daran liegen?

Die Variablen habe ich mir noch ausgeben lassen, jedoch die Variablen raus genommen und die Benutzer Daten direkt reingesetzt.
appopo Benutzer Daten, kann es sein das es an Sonderzeichen im Passwort liegen?

mfg Fsk45 face-smile
THT-Fsk45
THT-Fsk45 10.05.2012 um 11:59:42 Uhr
Goto Top
Die Warnung sagt ja aus, dass das "binden" nicht klapp aber das Verbinden zum Server klapp ja da der Skript sonst nicht in den if-Bereich gehen würde wo das "binden" abläuft, kann es sein das es da an irgendwelchen Rechten liegen könnte?
THT-Fsk45
THT-Fsk45 15.05.2012 um 02:36:10 Uhr
Goto Top
So die Warung lag entweder an xampp oder an php 5.2.x ... ich nutze nun als "client" Ubuntu 12.04 mit einen apachen, php 5.3.10:
die Warung kommt nun nicht mehr allerdings klappt das anmelden immer noch nicht face-sad ...