Sdílet prostřednictvím


FormsAuthenticationTicket Konstruktory

Definice

Inicializuje novou instanci FormsAuthenticationTicket třídy.

Přetížení

Name Description
FormsAuthenticationTicket(String, Boolean, Int32)

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

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 uživatelskými daty. Cesta k souboru cookie je nastavena 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 emise, 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.

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)

Parametry

name
String

Uživatelské jméno přidružené k lístku

isPersistent
Boolean

truepokud bude lístek uložen v trvalém souboru cookie (uložený v rámci relací prohlížeče); v opačném případě . false Pokud je lístek uložený v adrese URL, bude tato hodnota ignorována.

timeout
Int32

Doba v minutách, pro kterou je ověřovací lístek platný.

Poznámky

Objekt FormsAuthenticationTicket vytvořený tímto konstruktorem CookiePath bude mít hodnotu nastavenou na hodnotu FormsCookiePath vlastnosti, Version hodnotu 2, IssueDate hodnotu aktuálního místního data a času, UserData hodnotu prázdného řetězce ("") a Expiration hodnotu nastavenou na aktuální místní datum a čas plus hodnotu parametru timeout .

Viz také

Platí pro

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 uživatelskými daty. Cesta k souboru cookie je nastavena na výchozí hodnotu vytvořenou v konfiguračním souboru aplikace.

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)

Parametry

version
Int32

Číslo verze lístku

name
String

Uživatelské jméno přidružené k lístku

issueDate
DateTime

Místní datum a čas vydání lístku.

expiration
DateTime

Místní datum a čas vypršení platnosti lístku.

isPersistent
Boolean

truepokud bude lístek uložen v trvalém souboru cookie (uložený v rámci relací prohlížeče); v opačném případě . false Pokud je lístek uložený v adrese URL, bude tato hodnota ignorována.

userData
String

Data specifická pro uživatele, která se mají uložit s lístkem.

Poznámky

Objekt FormsAuthenticationTicket vytvořený tímto konstruktorem CookiePath bude mít hodnotu nastavenou na hodnotu objektu FormsCookiePath.

Poznámka:

Parametr userData nemůže být null.

Viz také

Platí pro

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 emise, datem vypršení platnosti, trvalostí a uživatelem definovanými daty.

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)

Parametry

version
Int32

Číslo verze lístku

name
String

Uživatelské jméno přidružené k lístku

issueDate
DateTime

Místní datum a čas vydání lístku.

expiration
DateTime

Místní datum a čas vypršení platnosti lístku.

isPersistent
Boolean

truepokud bude lístek uložen v trvalém souboru cookie (uložený v rámci relací prohlížeče); v opačném případě . false Pokud je lístek uložený v adrese URL, bude tato hodnota ignorována.

userData
String

Data specifická pro uživatele, která se mají uložit s lístkem.

cookiePath
String

Cesta k lístku při uložení v souboru cookie.

Příklady

Následující příklad kódu ukládá výsledek Encrypt metody do souboru cookie pomocí FormsCookieName vlastnosti a přesměruje uživatele na adresu URL vrácenou z GetRedirectUrl 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 vstup uživatele neobsahuje skripty ani elementy HTML. Další informace naleznete 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

Poznámka:

Parametr userData nemůže být null.

Viz také

Platí pro