FormsAuthenticationTicket Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Bietet Zugriff auf Eigenschaften und Werte des Tickets, das mit formularauthentifizierung verwendet wird, um Benutzer zu identifizieren. Diese Klasse kann nicht vererbt werden.
public ref class FormsAuthenticationTicket sealed
[System.Serializable]
public sealed class FormsAuthenticationTicket
[<System.Serializable>]
type FormsAuthenticationTicket = class
Public NotInheritable Class FormsAuthenticationTicket
- Vererbung
-
FormsAuthenticationTicket
- Attribute
Beispiele
Im folgenden Codebeispiel wird das Ergebnis der Encrypt Methode in einem Cookie gespeichert FormsCookieName , und der Benutzer wird an die von der GetRedirectUrl Methode zurückgegebene URL umgeleitet.
Von Bedeutung
Dieses Beispiel enthält ein Textfeld, das Benutzereingaben akzeptiert, bei denen es sich um eine potenzielle Sicherheitsrisiken handelt. Standardmäßig überprüfen ASP.NET Webseiten, dass die Benutzereingabe keine Skript- oder HTML-Elemente enthält. Weitere Informationen finden Sie unter Script Exploits Overview.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
private void Login_Click(Object sender, EventArgs e)
{
// Create a custom FormsAuthenticationTicket containing
// application specific data for the user.
string username = UserNameTextBox.Text;
string password = UserPassTextBox.Text;
bool isPersistent = false;
if (Membership.ValidateUser(username, password))
{
string userData = "ApplicationSpecific data for this user.";
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
username,
DateTime.Now,
DateTime.Now.AddMinutes(30),
isPersistent,
userData,
FormsAuthentication.FormsCookiePath);
// Encrypt the ticket.
string encTicket = FormsAuthentication.Encrypt(ticket);
// Create the cookie.
Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));
// Redirect back to original URL.
Response.Redirect(FormsAuthentication.GetRedirectUrl(username, isPersistent));
}
else
{
Msg.Text = "Login failed. Please check your user name and password and try again.";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Forms Authentication Login</title>
</head>
<body>
<form id="form1" runat="server">
<span style="BACKGROUND: #80ff80; font-weight:bold">
Login Page
</span>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
<table border="0">
<tbody>
<tr>
<td>Username:</td>
<td><asp:TextBox id="UserNameTextBox" runat="server" /></td>
<td>
<asp:RequiredFieldValidator id="RequiredFieldValidator1"
runat="server" ErrorMessage="*"
Display="Static"
ControlToValidate="UserNameTextBox" />
</td>
</tr>
<tr>
<td>Password:</td>
<td><asp:TextBox id="UserPassTextBox" TextMode="Password" runat="server" /></td>
<td>
<asp:RequiredFieldValidator id="RequiredFieldValidator2"
runat="server" ErrorMessage="*"
Display="Static"
ControlToValidate="UserPassTextBox" />
</td>
</tr>
</tbody>
</table>
<input type="submit" value="Login" runat="server" onserverclick="Login_Click" />
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Private Sub Login_Click(sender As Object, e As EventArgs)
' Create a custom FormsAuthenticationTicket containing
' application specific data for the user.
Dim username As String = UserNameTextBox.Text
Dim password As String = UserPassTextBox.Text
Dim isPersistent As Boolean = False
If Membership.ValidateUser(username, password) Then
Dim userData As String = "ApplicationSpecific data for this user."
Dim ticket As FormsAuthenticationTicket = New FormsAuthenticationTicket(1, _
username, _
DateTime.Now, _
DateTime.Now.AddMinutes(30), _
isPersistent, _
userData, _
FormsAuthentication.FormsCookiePath)
' Encrypt the ticket.
Dim encTicket As String = FormsAuthentication.Encrypt(ticket)
' Create the cookie.
Response.Cookies.Add(New HttpCookie(FormsAuthentication.FormsCookieName, encTicket))
' Redirect back to original URL.
Response.Redirect(FormsAuthentication.GetRedirectUrl(username, isPersistent))
Else
Msg.Text = "Login failed. Please check your user name and password and try again."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Forms Authentication Login</title>
</head>
<body>
<form id="form1" runat="server">
<span style="BACKGROUND:#80ff80; font-weight:bold">
Login Page
</span>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
<table border="0">
<tbody>
<tr>
<td>Username:</td>
<td><asp:TextBox id="UserNameTextBox" runat="server" /></td>
<td>
<asp:RequiredFieldValidator id="RequiredFieldValidator1"
runat="server" ErrorMessage="*"
Display="Static"
ControlToValidate="UserNameTextBox" />
</td>
</tr>
<tr>
<td>Password:</td>
<td><asp:TextBox id="UserPassTextBox" TextMode="Password" runat="server" /></td>
<td>
<asp:RequiredFieldValidator id="RequiredFieldValidator2"
runat="server" ErrorMessage="*"
Display="Static"
ControlToValidate="UserPassTextBox" />
</td>
</tr>
</tbody>
</table>
<input type="submit" value="Login" runat="server" onserverclick="Login_Click" />
</form>
</body>
</html>
Hinweise
Die FormsAuthenticationTicket Klasse wird verwendet, um ein Objekt zu erstellen, das das Authentifizierungsticket darstellt, das von der Formularauthentifizierung zum Identifizieren eines authentifizierten Benutzers verwendet wird. Die Eigenschaften und Werte eines Formularauthentifizierungstickets werden in eine verschlüsselte Zeichenfolge konvertiert, die in einem Cookie oder in der URL gespeichert ist.
Die FormsAuthentication Klasse stellt eine Encrypt Methode zum Erstellen eines Zeichenfolgenwerts bereit, der in einem Cookie oder in der URL aus einer FormsAuthenticationTicketgespeichert werden kann. Die FormsAuthentication Klasse stellt außerdem eine Decrypt Methode zum Erstellen eines FormsAuthenticationTicket Objekts aus dem verschlüsselten Authentifizierungsticket bereit, das aus dem Formularauthentifizierungscookies oder der URL abgerufen wird.
Auf FormsAuthenticationTicket den aktuellen authentifizierten Benutzer kann mithilfe der Ticket Eigenschaft der FormsIdentity Klasse zugegriffen werden. Sie können auf das aktuelle FormsIdentity Objekt zugreifen, indem Sie die Identity Eigenschaft des aktuellen User Typs umwandeln FormsIdentity.
Konstruktoren
| Name | Beschreibung |
|---|---|
| FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String, String) |
Initialisiert eine neue Instanz der FormsAuthenticationTicket Klasse mit Cookiename, Version, Verzeichnispfad, Problemdatum, Ablaufdatum, Persistenz und benutzerdefinierten Daten. |
| FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String) |
Initialisiert eine neue Instanz der FormsAuthenticationTicket Klasse mit Cookiename, Version, Ablaufdatum, Ausgabedatum, Persistenz und benutzerspezifischen Daten. Der Cookiepfad wird auf den Standardwert festgelegt, der in der Konfigurationsdatei der Anwendung festgelegt ist. |
| FormsAuthenticationTicket(String, Boolean, Int32) |
Initialisiert eine neue Instanz der FormsAuthenticationTicket Klasse mithilfe eines Cookienamens und Ablaufinformationen. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| CookiePath |
Ruft den Cookiepfad für das Formularauthentifizierungsticket ab. |
| Expiration |
Ruft das lokale Datum und die Uhrzeit ab, zu dem das Formularauthentifizierungsticket abläuft. |
| Expired |
Ruft einen Wert ab, der angibt, ob das Formularauthentifizierungsticket abgelaufen ist. |
| IsPersistent |
Ruft einen Wert ab, der angibt, ob das Cookie, das die Formularauthentifizierungsticketinformationen enthält, persistent ist. |
| IssueDate |
Ruft das lokale Datum und die Uhrzeit ab, zu dem das Formularauthentifizierungsticket ursprünglich ausgestellt wurde. |
| Name |
Ruft den Benutzernamen ab, der dem Formularauthentifizierungsticket zugeordnet ist. |
| UserData |
Ruft eine benutzerspezifische Zeichenfolge ab, die mit dem Ticket gespeichert ist. |
| Version |
Ruft die Versionsnummer des Tickets ab. |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |