Hi Liste, ich habe in einer Site einen gesch�tzten Bereich (Username und Passwort). Beim Einloggen habe ich eine Session-Variable gebaut die im gesamten gesch�tzten Bereich verf�gbar ist. Nun m�chte ich einen Logout-Button bauen der auf die Index-Seite der Site f�hrt. Dabei soll die Session-Variable entweder gel�scht oder mit einem anderen Wert gef�llt werden. Es darf eben nicht m�glich sein mit dem Return-Button des Browsers wieder in den gesch�tzten Bereich zu gelangen. Habt ihr da ne Idee?? Thx. Ralph
| [aspdedotnet] als [EMAIL PROTECTED] subscribed | http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv Sie | k�nnen sich unter folgender URL an- und abmelden: | http://www.dotnetgerman.com/listen/aspDEdotnet.asp Hi! Am besten erstellst du dir ersteinmal eine Seite mit einer Textbox (z.B. ID="txtName") zum Eingabe des Loginnamens, eine Textbox zur Eingabe des Passwortes (z.B. ID="txtPasswort") und eine Checkbox zum Setzen eines permanenten Cookies (z.B. ID="cbnpersist")! Die Eingaben �berpr�fst du anschliessend aus der Datenbank. Anschliessend setzt du ein permanentes Cookie: Z.B. Public Sub Login_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim Cnn As SqlConnection = New SqlConnection("data source=xxx; initial catalog=Login; UID=xxx; PWD=xxx") Cnn.Open() Dim Cmd As SqlCommand = New SqlCommand("SELECT Loginname, Loginpasswort FROM Login", Cnn) Dim Dr As SqlDataReader = Cmd.ExecuteReader Do While Dr.Read If txtUsername.Value = Dr.Item("Loginname") And txtPassword.Value = Dr.Item("Loginpasswort") Then Cookie --> FormsAuthentication.SetAuthCookie(txtUsername.Value, cbnPersist.Checked) Dr.Close() Dr = Nothing Cmd = Nothing Cnn.Close() Cnn = Nothing Response.Redirect("main.htm") End If Loop lblMessage.Text = "Unbekannter Benutzername oder unbekanntes Passwort. Bitte �berpr�fen Sie Ihre Eingaben!" Dr.Close() Dr = Nothing Cmd = Nothing Cnn.Close() Cnn = Nothing End Sub Diesen gesetzten Namen kannst du dann auf den folgenden Seiten per page.user.identity.name immer wieder abfragen. Aber das ist noch nicht das wichtigste. Du musst auch noch folgende Eintragungen in der web.config machen: Einmal hier: <authentication mode="Forms" > <forms name="formsauth" loginUrl="default.aspx" protection="All" timeout="60" /> </authentication> Wobei Login-URL die URL ist wohin du umgeleitet wirst, wenn das Cookie erloschen ist oder ge�ndert (!) wurde! Und dann noch hier: <authorization> <deny verbs="GET, POST" users="?" /> </authorization> Damit verhinderst du den unerlaubten Zugriff eines unauthorisierten Users. Und zum Schluss noch der Logout-Button: Am besten erstellst du einen Button der folgende Sub aufruft: Public Sub Logout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) FormsAuthentication.SignOut() Response.Redirect("default.aspx") End Sub Dann wirst du auf die Startseite weitergeleitet, an der er wieder seine Kennung angeben muss. Und auch die Return-Funktion des Browsers hilft ihm da nicht mehr weiter. Hoffe dir damit geholfen zu haben. Gruss Michael | [aspdedotnet] als [email protected] subscribed | http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv | Sie k�nnen sich unter folgender URL an- und abmelden: | http://www.dotnetgerman.com/listen/aspDEdotnet.asp
