Freigeben über


FormsAuthenticationTicket Konstruktoren

Definition

Initialisiert eine neue Instanz der FormsAuthenticationTicket-Klasse.

Überlädt

FormsAuthenticationTicket(String, Boolean, Int32)

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

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.

public:
 FormsAuthenticationTicket(System::String ^ name, bool isPersistent, int timeout);
public FormsAuthenticationTicket (string name, bool isPersistent, int timeout);
new System.Web.Security.FormsAuthenticationTicket : string * bool * int -> System.Web.Security.FormsAuthenticationTicket
Public Sub New (name As String, isPersistent As Boolean, timeout As Integer)

Parameter

name
String

Der dem Ticket zugeordnete Benutzername.

isPersistent
Boolean

true, wenn das Ticket in einem permanenten Cookie (das über Browsersitzungen hinweg erhalten bleibt) gespeichert wird, andernfalls false. Wenn das Ticket in der URL gespeichert wird, wird dieser Wert ignoriert.

timeout
Int32

Die Dauer (in Minuten) der Gültigkeit des Authentifizierungstickets.

Hinweise

Das FormsAuthenticationTicket von diesem Konstruktor erstellte Objekt verfügt über einen CookiePath Wert, der auf den Wert der FormsCookiePath Eigenschaft festgelegt ist, einen Version Wert von 2, einen IssueDate Wert des aktuellen lokalen Datums und der aktuellen lokalen Uhrzeit, einen UserData Wert einer leeren Zeichenfolge ("") und einen Expiration Wert, der auf das aktuelle lokale Datum und die aktuelle lokale Uhrzeit sowie den Wert des timeout Parameters festgelegt ist.

Weitere Informationen

Gilt für:

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.

public:
 FormsAuthenticationTicket(int version, System::String ^ name, DateTime issueDate, DateTime expiration, bool isPersistent, System::String ^ userData);
public FormsAuthenticationTicket (int version, string name, DateTime issueDate, DateTime expiration, bool isPersistent, string userData);
new System.Web.Security.FormsAuthenticationTicket : int * string * DateTime * DateTime * bool * string -> System.Web.Security.FormsAuthenticationTicket
Public Sub New (version As Integer, name As String, issueDate As DateTime, expiration As DateTime, isPersistent As Boolean, userData As String)

Parameter

version
Int32

Die Versionsnummer des Tickets.

name
String

Der dem Ticket zugeordnete Benutzername.

issueDate
DateTime

Das lokale Datum und die lokale Uhrzeit der Ticketausgabe.

expiration
DateTime

Das lokale Datum und die lokale Uhrzeit für den Ablauf des Tickets.

isPersistent
Boolean

true, wenn das Ticket in einem permanenten Cookie (das über Browsersitzungen hinweg erhalten bleibt) gespeichert wird, andernfalls false. Wenn das Ticket in der URL gespeichert wird, wird dieser Wert ignoriert.

userData
String

Die benutzerspezifischen Daten, die mit dem Ticket gespeichert werden sollen.

Hinweise

Das FormsAuthenticationTicket von diesem Konstruktor erstellte Objekt verfügt über einen CookiePath Wert, der auf den Wert von FormsCookiePathfestgelegt ist.

Hinweis

Der userData-Parameter darf nicht null sein.

Weitere Informationen

Gilt für:

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.

public:
 FormsAuthenticationTicket(int version, System::String ^ name, DateTime issueDate, DateTime expiration, bool isPersistent, System::String ^ userData, System::String ^ cookiePath);
public FormsAuthenticationTicket (int version, string name, DateTime issueDate, DateTime expiration, bool isPersistent, string userData, string cookiePath);
new System.Web.Security.FormsAuthenticationTicket : int * string * DateTime * DateTime * bool * string * string -> System.Web.Security.FormsAuthenticationTicket
Public Sub New (version As Integer, name As String, issueDate As DateTime, expiration As DateTime, isPersistent As Boolean, userData As String, cookiePath As String)

Parameter

version
Int32

Die Versionsnummer des Tickets.

name
String

Der dem Ticket zugeordnete Benutzername.

issueDate
DateTime

Das lokale Datum und die lokale Uhrzeit der Ticketausgabe.

expiration
DateTime

Das lokale Datum und die lokale Uhrzeit für den Ablauf des Tickets.

isPersistent
Boolean

true, wenn das Ticket in einem permanenten Cookie (das über Browsersitzungen hinweg erhalten bleibt) gespeichert wird, andernfalls false. Wenn das Ticket in der URL gespeichert wird, wird dieser Wert ignoriert.

userData
String

Die benutzerspezifischen Daten, die mit dem Ticket gespeichert werden sollen.

cookiePath
String

Der Pfad für das Ticket, wenn dieses in einem Cookie gespeichert ist.

Beispiele

Im folgenden Codebeispiel wird das Ergebnis der -Methode mithilfe der EncryptFormsCookieName -Eigenschaft in einem Cookie 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

Hinweis

Der userData-Parameter darf nicht null sein.

Weitere Informationen

Gilt für: