Seite 1 von 1

Web-UI Logout

Verfasst: Sonntag 28. November 2010, 18:37
von bern
Die Logout-Funktion schlägt vor, den kompletten Browser zu schließen. Nicht bei jedem immer so ganz schmerzfrei möglich. 8-)

Ein "ganz normales" Logout ist mit der HTTP Basic Auth nicht machbar. Dafür braucht's mindestens Session Cookies, die der Server dem Browser weglöschen kann (einfaches Beispiel: http://www.racktables.org/demo.php ).

Was man aber machen kann, ist, dem Benutzer die Gelegenheit zu geben, Username+Paßwort [irmt]selber[/irmt] aus dem Browser zu kegeln. Das geht so:
[listrmt]
[*rmt]User klickt auf einen "Logout"-Link[/*:mrmt]
[*rmt]Zielseite verlangt Basic Auth wie bisher, lehnt aber tatsächlich [brmt]alle[/brmt] User-Pwd-Paare ab[/*:mrmt]
[*rmt]Browser bringt erneut den Dialog zur Eingabe von User+Pwd[/*:mrmt]
[*rmt]User schreibt irgendwas 'rein und schickt ab, [brmt]überschreibt damit die bisher im Browser gespeicherten Daten[/brmt][/*:mrmt]
[*rmt](Server lehnt natürlich wieder ab)[/*:mrmt]
[*rmt](User bricht "Login-Versuch" ab und bekommt die Auth-Denied-Seite angezeigt)[/*:mrmt][/listrmt]

Als Beispiel-Config-Gerüst für einen normalen Apache:
[codermt]
Alias /my-app "/my-app/web"
<Directory "/my-app/web">
AuthName "My-App Zugang"
AuthType Basic
AuthUserFile /my-app/etc/htpasswd
</Directory>
<Directory "/my-app/web/logout">
AuthName "My-App Zugang"
AuthType Basic
AuthUserFile /dev/null
</Directory>
[/codermt]