FormsAuthenticationTicket Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy FormsAuthenticationTicket.

Przeciążenia

FormsAuthenticationTicket(String, Boolean, Int32)

Inicjuje FormsAuthenticationTicket nowe wystąpienie klasy przy użyciu nazwy pliku cookie i informacji o wygaśnięciu.

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

Inicjuje FormsAuthenticationTicket nowe wystąpienie klasy z nazwą pliku cookie, wersją, datą wygaśnięcia, datą wydania, trwałością i danymi specyficznymi dla użytkownika. Ścieżka pliku cookie jest ustawiona na wartość domyślną ustanowioną w pliku konfiguracji aplikacji.

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

Inicjuje FormsAuthenticationTicket nowe wystąpienie klasy z nazwą pliku cookie, wersją, ścieżką katalogu, datą wydania, datą wygaśnięcia, trwałością i danymi zdefiniowanymi przez użytkownika.

FormsAuthenticationTicket(String, Boolean, Int32)

Inicjuje FormsAuthenticationTicket nowe wystąpienie klasy przy użyciu nazwy pliku cookie i informacji o wygaśnięciu.

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

Nazwa użytkownika skojarzona z biletem.

isPersistent
Boolean

true jeśli bilet będzie przechowywany w trwałym pliku cookie (zapisanym w sesjach przeglądarki); w przeciwnym razie , false. Jeśli bilet jest przechowywany w adresie URL, ta wartość jest ignorowana.

timeout
Int32

Czas, w minutach, dla którego bilet uwierzytelniania jest prawidłowy.

Uwagi

FormsAuthenticationTicket Obiekt utworzony przez ten konstruktor będzie miał CookiePath wartość ustawioną na wartość FormsCookiePath właściwości, Version wartość 2, wartość bieżącej lokalnej daty i godziny, IssueDate UserData wartość pustego ciągu ("") oraz Expiration wartość ustawioną na bieżącą lokalną datę i godzinę oraz wartość parametrutimeout.

Zobacz też

Dotyczy

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

Inicjuje FormsAuthenticationTicket nowe wystąpienie klasy z nazwą pliku cookie, wersją, datą wygaśnięcia, datą wydania, trwałością i danymi specyficznymi dla użytkownika. Ścieżka pliku cookie jest ustawiona na wartość domyślną ustanowioną w pliku konfiguracji aplikacji.

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

Numer wersji biletu.

name
String

Nazwa użytkownika skojarzona z biletem.

issueDate
DateTime

Lokalna data i godzina wystawienia biletu.

expiration
DateTime

Lokalna data i godzina wygaśnięcia biletu.

isPersistent
Boolean

true jeśli bilet będzie przechowywany w trwałym pliku cookie (zapisanym w sesjach przeglądarki); w przeciwnym razie , false. Jeśli bilet jest przechowywany w adresie URL, ta wartość jest ignorowana.

userData
String

Dane specyficzne dla użytkownika, które mają być przechowywane za pomocą biletu.

Uwagi

FormsAuthenticationTicket Obiekt utworzony przez ten konstruktor będzie miał wartość ustawioną CookiePath na wartość .FormsCookiePath

Uwaga

Nie można stosować nullparametru userData .

Zobacz też

Dotyczy

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

Inicjuje FormsAuthenticationTicket nowe wystąpienie klasy z nazwą pliku cookie, wersją, ścieżką katalogu, datą wydania, datą wygaśnięcia, trwałością i danymi zdefiniowanymi przez użytkownika.

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

Numer wersji biletu.

name
String

Nazwa użytkownika skojarzona z biletem.

issueDate
DateTime

Lokalna data i godzina wystawienia biletu.

expiration
DateTime

Lokalna data i godzina wygaśnięcia biletu.

isPersistent
Boolean

true jeśli bilet będzie przechowywany w trwałym pliku cookie (zapisanym w sesjach przeglądarki); w przeciwnym razie , false. Jeśli bilet jest przechowywany w adresie URL, ta wartość jest ignorowana.

userData
String

Dane specyficzne dla użytkownika, które mają być przechowywane za pomocą biletu.

cookiePath
String

Ścieżka biletu w przypadku przechowywania w pliku cookie.

Przykłady

Poniższy przykład kodu przechowuje wynik Encrypt metody w pliku cookie przy użyciu FormsCookieName właściwości i przekierowuje użytkownika do adresu URL zwróconego z GetRedirectUrl metody .

Ważne

Ten przykład zawiera pole tekstowe, które akceptuje dane wejściowe użytkownika, co jest potencjalnym zagrożeniem bezpieczeństwa. Domyślnie ASP.NET strony sieci Web weryfikują, czy dane wejściowe użytkownika nie zawierają skryptów ani elementów HTML. Aby uzyskać więcej informacji, zobacz Omówienie luk w zabezpieczeniach skryptów.

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

Uwagi

Uwaga

Nie można stosować nullparametru userData .

Zobacz też

Dotyczy