Mailinglisten-Archive |
Hallo Dirk >ich habe zwar schon ein paar Codebeispiele zu Autentifizierung, etc. >gesehen, aber kann mir mal jemand erklären, wie das ganze funktioniert? > >Ich möhte nicht, dass der User automatisch angemeldet wird, sondern dass er >sich einloggen muss. Du kannst das ganze ohne PHP auf Apache-Seite lösen. Foldende Einstellung ist gültig für <Directory> bzw. .htaccess falls Du keinen Zugriff auf httpd.conf hast. AuthType Basic AuthName "my secret web" AuthUserFile /access/webusers require user user1 user2 AuthType bestimmt in welcher Form die Daten übertragen werden. Basic heisst, die Daten gehen unverschlüsselt übers Netz. Alternativ gibt es Digest, das ist aber HTTP/1.1 und wird noch nicht von allen Browsern unterstützt. >Aber wie weiss ich dann später, dass er sich eingeloggt >hat? Wie passiert die Verbindung zwischen der Anforderung einer Seite und >diesem bestimmten User? AuthName ist der Realm, der einen Zugriff identifiziert. Nur wenn Realm, User und Passwort stimmen, wird der Zugriff gewährt. Greift der User zum ersten Mal auf eine Seite zu, schickt der Server einen Code 401 und den Realm. Der Browser zeigt ein PopUp zur Eingabe von Username (ID) und Passwort an. Stimmen ID und Passwort, werden die Seiten angezeigt. Bei jedem weiteren Zugriff auf die Seiten schickt der Browser ID, Passwort und Realm automatisch mit. Es wird also bei jedem weiteren Zugriff eine Validierung durchgeführt. Der User merkt nur nichts davon. Das gilt auch für Unterverzeichnise des geschützten Bereichs. Wenn Du das ganze im Directory Tag löst, kannst Du zur Sicherheit noch "AllowOverride All" setzen. AuthUserFile bestimmt, in welcher Form die User abgelegt sind. Du kannst Die Angaben auch aus einer MySQL Datenbank hohlen. Apache muss aber mit dieser Option konfiguriert worden sein. Diese datei sollte sich unbedingt ausserhalb von DocumentRoot befinden. Require bestimmt welche User genau Zugriff haben. Hast Du 30 User in der Datei bzw. Datenbank und möchtest nur den Usern user1 und user2 den Zugriff erlauben, kannst Du diese Option einsetzen. User3 hat dann keinen Zugriff, obwohl er in der Datei bzw. Datenbank gespeichert ist. Mehr Infos findest Du in jeder guten Apache-Dokumentation Gruss Markus
php::bar PHP Wiki - Listenarchive