wahsaga: HTTP AUTH: Neu Einloggen erzwingen

Beitrag lesen

hi,

In meinem Fall ist es so, daß in einem uralten Projekt, in dem ich gerade herumwühlen darf, die Benutzer ihre Paßwörter ändern können.
Da allerdings auf jeder Seite wieder per PHP die Werte (PHP_AUTH_USER und PHP_AUTH_PW) der aktuellen Sitzung mit der Datenbank abgeglichen werden, bekommen die Benutzer nach Speicherung des neuen Paßworts eine "Unberechtigter Zugriff"-Meldung (da das neue Paßwort in der Datenbank ja nicht mehr mit PHP_AUTH_PW übereinstimmt).
Wir haben hier mehrere Lösungsansätze diskutiert, sind allerdings zu dem Schluß gekommen, daß sich mit PHP-Mitteln nichts machen läßt (außer Umstellung auf PHP-Sessions, wofür aber kein Geld da ist).

Hm, was hältst du denn von http://www.php.net/manual/de/features.http-auth.php:
"Sowohl Netscape als auch der Internet Explorer löschen den lokalen Authentifizierungscache des Browserfensters, wenn der Server eine 401-Meldung zurückgibt. Dies kann benutzt werden, um einen Benutzer "auszuloggen" und eine erneute Eingabe des Benutzernamens/Passworts zu erzwingen."

Das könnte man doch mal probieren.

Allerdings beachten:
"Dieses Verhalten wird vom Authentifizierungsstandard HTTP Basic nicht gefordert, daher sollte man sich nie darauf verlassen. Tests mit Lynx haben gezeigt, dass Lynx die Authentifizierungsinformationen bei Erhalt einer 401-Meldung nicht löscht."

Gut - aber mit AJAX brauchst du einem Lynx-Benutzer vermutlich noch viel weniger kommen :-)

Wenn du also die "großen" Browser auf diese Weise schon mal "erwischen" kannst, wäre doch auch für einen großen Teil der Benutzer das Problem vom Tisch. Wie bspw. Opera oder Safari sich verhalten, wäre ggf. zu testen.
Für die verbleidenden paar Nutzer anderer Browser tut's dann vermutlich auch ein Hinweis, dass sie nach der Änderung ihres Passwortes halt ihre Surf-Session beenden und sich neu anmelden müssen.

gruß,
wahsaga

--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }