Bagikan melalui


FormsAuthenticationTicket Kelas

Definisi

Menyediakan akses ke properti dan nilai tiket yang digunakan dengan autentikasi formulir untuk mengidentifikasi pengguna. Kelas ini tidak dapat diwariskan.

public ref class FormsAuthenticationTicket sealed
[System.Serializable]
public sealed class FormsAuthenticationTicket
[<System.Serializable>]
type FormsAuthenticationTicket = class
Public NotInheritable Class FormsAuthenticationTicket
Warisan
FormsAuthenticationTicket
Atribut

Contoh

Contoh kode berikut menyimpan hasil Encrypt metode dalam cookie menggunakan FormsCookieName dan mengalihkan pengguna ke URL yang dikembalikan dari GetRedirectUrl metode .

Penting

Contoh ini berisi kotak teks yang menerima input pengguna, yang merupakan potensi ancaman keamanan. Secara default, ASP.NET halaman Web memvalidasi bahwa input pengguna tidak menyertakan elemen skrip atau HTML. Untuk informasi selengkapnya, lihat Gambaran Umum Eksploitasi Skrip.

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

Keterangan

Kelas FormsAuthenticationTicket digunakan untuk membuat objek yang mewakili tiket autentikasi yang digunakan oleh autentikasi formulir untuk mengidentifikasi pengguna yang diautentikasi. Properti dan nilai tiket autentikasi formulir dikonversi ke dan dari string terenkripsi yang disimpan dalam cookie atau di URL.

Kelas FormsAuthentication menyediakan Encrypt metode untuk membuat nilai string yang dapat disimpan dalam cookie atau di URL dari FormsAuthenticationTicket. Kelas ini FormsAuthentication juga menyediakan Decrypt metode untuk membuat FormsAuthenticationTicket objek dari tiket autentikasi terenkripsi yang diambil dari cookie autentikasi formulir atau URL.

FormsAuthenticationTicket untuk pengguna terautentikasi saat ini dapat diakses menggunakan Ticket properti kelas FormsIdentity . Anda dapat mengakses objek saat ini FormsIdentity dengan mentransmisikan Identity properti saat ini User sebagai jenis FormsIdentity.

Konstruktor

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

Menginisialisasi instans FormsAuthenticationTicket baru kelas dengan nama cookie, versi, tanggal kedaluwarsa, tanggal penerbitan, persistensi, dan data khusus pengguna. Jalur cookie diatur ke nilai default yang ditetapkan dalam file konfigurasi aplikasi.

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

Menginisialisasi instans FormsAuthenticationTicket baru kelas dengan nama cookie, versi, jalur direktori, tanggal penerbitan, tanggal kedaluwarsa, persistensi, dan data yang ditentukan pengguna.

FormsAuthenticationTicket(String, Boolean, Int32)

Menginisialisasi instans baru kelas menggunakan nama cookie dan informasi kedaluwarsa FormsAuthenticationTicket .

Properti

CookiePath

Mendapatkan jalur cookie untuk tiket autentikasi formulir.

Expiration

Mendapatkan tanggal dan waktu lokal di mana tiket autentikasi formulir kedaluwarsa.

Expired

Mendapatkan nilai yang menunjukkan apakah tiket autentikasi formulir telah kedaluwarsa.

IsPersistent

Mendapatkan nilai yang menunjukkan apakah cookie yang berisi informasi tiket autentikasi formulir tetap ada.

IssueDate

Mendapatkan tanggal dan waktu lokal di mana tiket autentikasi formulir awalnya dikeluarkan.

Name

Mendapatkan nama pengguna yang terkait dengan tiket autentikasi formulir.

UserData

Mendapatkan string khusus pengguna yang disimpan dengan tiket.

Version

Mendapatkan nomor versi tiket.

Metode

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Lihat juga