Benutzerauthentifizierung mit PHP an einem LDAP Server

Vor längerer Zeit habe ich hier schonmal geschrieben, dass ich an einer PHP Applikation im Geschäft Arbeite. Lieder bin ich da in der letzten Zeit kaum dazugekommen, aber jetzt sieht es doch wieder etwas besser aus.

Diese Applikation hat auch einen geschützten Bereich, wo man sich anmelden muss. Nun wäre es möglich die Benutzerdaten in einer Datenbank zu speichern. Das hätte aber den Nachteil, dass die Benutzer an mehreren Orten verwalten müsste. Nämlich in der mySQL Datenbank und in der Active Directory von unserem Windows 2003 PDC. In der AD müssen die Benutzer ja zwangsläufig gespeichert werden, warum also nicht diese Benutzer zur Authentifizierung in der PHP Applikation verwenden.

Mit LDAP funktioniert das recht einfach, denn wenn man sich mit einem Benutzer über LDAP am PDC anmelden kann, hat man einen gültigen Account. So sieht es in der Theorie aus.

Die Praxis ist da recht ähnlich. Zuerst muss man die LDAP Befehle installieren. Unter Ubuntu funktioniert das so:
sudo apt-get install php5-ldap

Ich habe dann ein kleines Script gebastelt, welches eine Verbindung zum Server herstellt und sich dann versucht einzuloggen. Das sieht so aus:
<?
$conn
=ldap_connect("server")or die("could not connect to the server");

if(@
ldap_bind($conn,"domain\username","password"))
{
    echo 
"login ok";
}
else
{
    echo 
"login falsch";
}

ldap_close($conn);
?>


Wichtig ist, dass man den Benutzernamen im Format domain\username angibt.

Erster MCSA Kurstag

http://images.t-error.ch/blog/511/mcsa.gifVor längerem habe ich es bereits angetönt und heute war es soweit. Der Berufsbegleitende MCSA Kurs hatte begonnen.
Heute ging es noch recht einfach zu und her. Anfangs eine Vorstellungsrunde. Wir sind nun insgesamt neun Teilnehmer. Einige hängen danach gleich den MCSE an, ich möchte diesen auch noch machen, allerdings nicht gleich danach. Vor allem da im Sommer bei uns im Geschäft wieder Hochsaison ist und daneben noch so einen Kurs zu machen, wäre mir etwas zu viel.
Als Unterlagen haben wir ein Riesenbuch mit vielen Übungen erhalten und eine Windows 2003 Server CD. Weiter gehts am Samstag in drei Wochen und dann bis ende Jahr jeden zweiten Samstag. Ich bin gespannt wie es weiter geht.

NTP unter Windows 2003 Server

Für den Fall, dass ich es mal wieder benötige: Ein Windows Computer, der in einer Domäne eingebunden ist, holt sich die Zeit standardmässig vom PDC. Nur sollte die Zeit auf dem PDC auch stimmen. Man kann diese natürlich manuell anpassen und immer wieder kontrollieren. Oder man nutzt NTP.

Bei einem Windows 2003 Server funktioniert das über die Konsole. Nicht ganz so simpel wie unter Linux, aber auch keine grosse Klickorgie.
w32tm /config /syncfromflags:manual /manualpeerlist:ch.pool.ntp.org
w32tm /config /update
w32tm /resync

So befragt der Server den Host ch.pool.net.org und holt sich die Zeit von dort.