Freigeben über


FormsAuthenticationTicket Klasse

Definition

Ermöglicht den Zugriff auf Eigenschaften und Werte des Tickets, das bei der Formularauthentifizierung zum Identifizieren von Benutzern verwendet wird. 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 mithilfe von in einem Cookie FormsCookieName gespeichert und der Benutzer an die URL umgeleitet, die von der GetRedirectUrl -Methode zurückgegeben wird.

Wichtig

Dieses Beispiel enthält ein Textfeld, das Benutzereingaben akzeptiert, was eine potenzielle Sicherheitsgefährdung darstellt. Standardmäßig stellen ASP.NET-Webseiten sicher, dass Benutzereingaben keine Skript- oder HTML-Elemente enthalten. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.

<%@ 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 und aus einer verschlüsselten 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 einem FormsAuthenticationTicketgespeichert werden kann. Die FormsAuthentication -Klasse bietet auch eine Decrypt Methode zum Erstellen eines FormsAuthenticationTicket Objekts aus dem verschlüsselten Authentifizierungsticket, das aus dem Formularauthentifizierungscookies oder der URL abgerufen wird.

Auf die FormsAuthenticationTicket für 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 in den Typ FormsIdentityumwandeln.

Konstruktoren

FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String)

Initialisiert eine neue Instanz der FormsAuthenticationTicket-Klasse mit Cookienamen, Version, Ablaufdatum, Ausgabedatum, Dauerhaftigkeit und benutzerspezifischen Daten. Der Cookiepfad wird auf den in der Konfigurationsdatei der Anwendung angegebenen Standardwert festgelegt.

FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String, String)

Initialisiert eine neue Instanz der FormsAuthenticationTicket-Klasse mit Cookienamen, Version, Verzeichnispfad, Ausgabedatum, Ablaufdatum, Dauerhaftigkeit und benutzerdefinierten Daten.

FormsAuthenticationTicket(String, Boolean, Int32)

Initialisiert eine neue Instanz der FormsAuthenticationTicket-Klasse mit einem Cookienamen und Ablaufinformationen.

Eigenschaften

CookiePath

Ruft den Cookiepfad für das Formularauthentifizierungsticket ab.

Expiration

Ruft das lokale Datum und die lokale Uhrzeit für den Ablauf des Formularauthentifizierungstickets ab.

Expired

Ruft einen Wert ab, der angibt, ob das Formularauthentifizierungsticket abgelaufen ist.

IsPersistent

Ruft einen Wert ab, der angibt, ob das Cookie mit den Informationen für das Formularauthentifizierungsticket permanent ist.

IssueDate

Ruft das lokale Datum und die lokale Uhrzeit der ursprünglichen Ausgabe des Formularauthentifizierungstickets ab.

Name

Ruft den Benutzernamen ab, der dem Formularauthentifizierungsticket zugeordnet ist.

UserData

Ruft eine benutzerspezifische, mit dem Ticket gespeicherte Zeichenfolge ab.

Version

Ruft die Versionsnummer des Tickets ab.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen