Sdílet prostřednictvím


FormsAuthenticationTicket Třída

Definice

Poskytuje přístup k vlastnostem a hodnotám lístku používaného s ověřováním formulářů k identifikaci uživatelů. Tato třída se nemůže dědit.

public ref class FormsAuthenticationTicket sealed
[System.Serializable]
public sealed class FormsAuthenticationTicket
[<System.Serializable>]
type FormsAuthenticationTicket = class
Public NotInheritable Class FormsAuthenticationTicket
Dědičnost
FormsAuthenticationTicket
Atributy

Příklady

Následující příklad kódu uloží výsledek Encrypt metody do souboru cookie pomocí FormsCookieName a přesměruje uživatele na adresu URL vrácenou GetRedirectUrl z metody.

Důležité

Tento příklad obsahuje textové pole, které přijímá vstup uživatele, což je potenciální bezpečnostní hrozba. Ve výchozím nastavení ASP.NET webové stránky ověřují, že uživatelský vstup neobsahuje skript nebo elementy HTML. Další informace najdete v tématu Přehled zneužití skriptů.

<%@ 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>

Poznámky

Třída FormsAuthenticationTicket se používá k vytvoření objektu, který představuje ověřovací lístek, který se používá ověřování pomocí formulářů k identifikaci ověřeného uživatele. Vlastnosti a hodnoty lístku ověřování formulářů jsou převedeny na a z šifrovaného řetězce, který je uložen v souboru cookie nebo v adrese URL.

Třída FormsAuthentication poskytuje metodu Encrypt pro vytvoření řetězcové hodnoty, která může být uložena v souboru cookie nebo v adrese URL z FormsAuthenticationTicket. Třída FormsAuthentication také poskytuje metodu Decrypt pro vytvoření objektu FormsAuthenticationTicket ze šifrovaného ověřovacího lístku načteného ze souboru cookie ověřování formulářů nebo adresy URL.

K FormsAuthenticationTicket objektu pro aktuálního ověřeného FormsIdentity uživatele lze přistupovat pomocí Ticket vlastnosti třídy. K aktuálnímu FormsIdentity objektu můžete přistupovat přetypováním Identity vlastnosti current User jako typ FormsIdentity.

Konstruktory

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

Inicializuje novou instanci FormsAuthenticationTicket třídy s názvem souboru cookie, verzí, datem vypršení platnosti, datem vydání, trvalostí a daty specifickými pro uživatele. Cesta k souboru cookie je nastavená na výchozí hodnotu vytvořenou v konfiguračním souboru aplikace.

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

Inicializuje novou instanci FormsAuthenticationTicket třídy s názvem souboru cookie, verzí, cestou k adresáři, datem vydání, datem vypršení platnosti, trvalostí a uživatelem definovanými daty.

FormsAuthenticationTicket(String, Boolean, Int32)

Inicializuje novou instanci FormsAuthenticationTicket třídy pomocí názvu souboru cookie a informací o vypršení platnosti.

Vlastnosti

CookiePath

Získá cestu souboru cookie pro lístek ověřování formulářů.

Expiration

Získá místní datum a čas, kdy vyprší platnost lístku ověřování formulářů.

Expired

Získá hodnotu označující, zda vypršela platnost lístku ověřování formulářů.

IsPersistent

Získá hodnotu označující, zda soubor cookie, který obsahuje informace o lístku ověřování formulářů, je trvalý.

IssueDate

Získá místní datum a čas, kdy byl původně vystaven lístek ověřování formulářů.

Name

Získá uživatelské jméno přidružené k lístku ověřování formulářů.

UserData

Získá řetězec specifický pro uživatele uložený s lístkem.

Version

Získá číslo verze lístku.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také