Logout (SignOut) bei formularbasierter Authentifizierung

15/11/2007 - 09:49 von Andreas Mueller | Report spam
Habe eine formularbasierter Authentifizierung (Authentifizierung gegen eine
eigene Datenbank).

Über eine Login-Seite komme ich auf eine MasterPage.
Auf der MasterPage habe ich ein Abmelde-Button (im Menübereich).

Nachdem ich mich abgemeldet habe, lande ich auf der Login-Webseite (wie
gewünscht). Wenn ich jetzt im Browser auf 'zurück' klick, lande ich wieder
auf der MasterPage (nicht gewünscht).

Wie kann ich das verhindern ?


Wenn ich zuvor die Cookies lösche, hilft das erst mal auch nicht.
Erst nachdem ich eine bestimmete Zeit abgewartet habe, komme ich dann nicht
mehr auf die MasterPage, per Webbrowser-Button 'zurück'.



MasterPage:

Public Sub SignoutBtn_Click(ByVal sender As System.Object, ByVal e As
EventArgs)
FormsAuthentication.SignOut()
Response.Redirect("Login.aspx")
'FormsAuthentication.RedirectToLoginPage()
End Sub

web.config:
...
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="Login.aspx" protection="All"
timeout="60"></forms>
</authentication>
...


http://msdn2.microsoft.com/de-de/li...on.signout(VS.80).aspx
 

Lesen sie die antworten

#1 Thomas Bandt
15/11/2007 - 10:07 | Warnen spam
Andreas Mueller schrieb:
Nachdem ich mich abgemeldet habe, lande ich auf der Login-Webseite (wie
gewünscht). Wenn ich jetzt im Browser auf 'zurück' klick, lande ich wieder
auf der MasterPage (nicht gewünscht).

Wie kann ich das verhindern ?



Du kommst zwar wieder zurück, alles was du da siehst ist aber das
in der Browser-History zwischengespeicherte Ergebnis. Noch ein
Klick, und du bist wieder draußen.

Verhindern kannst du das nicht wirklich, du könntest höchstens
den Benutzer auf jeder Seite mit history.go(1); (Pseudocode)
per JavaScript eins vorschicken - damit legst du aber die
"Brwoserbuttons" komplett lahm, und es hilft auch nur, wenn
JS aktiviert ist.

Gruß, Thomas [MVP ASP/ASP.NET]
http://www.69grad.de - Beratung, Entwicklung
http://www.dotnetjob.de - .NET-Stellenbörse
http://blog.thomasbandt.de - Thomas goes .NET

Ähnliche fragen