FormsAuthenticationTicket Osztály

Definíció

Hozzáférést biztosít az űrlaphitelesítéssel használt jegy tulajdonságaihoz és értékeihez a felhasználók azonosításához. Ez az osztály nem örökölhető.

public ref class FormsAuthenticationTicket sealed
[System.Serializable]
public sealed class FormsAuthenticationTicket
[<System.Serializable>]
type FormsAuthenticationTicket = class
Public NotInheritable Class FormsAuthenticationTicket
Öröklődés
FormsAuthenticationTicket
Attribútumok

Példák

Az alábbi példakód egy cookie-ban tárolja a Encrypt metódus eredményét, FormsCookieName és átirányítja a felhasználót a metódusból GetRedirectUrl visszaadott URL-címre.

Important

Ez a példa egy szövegdobozt tartalmaz, amely elfogadja a felhasználói bemenetet, ami potenciális biztonsági fenyegetés. Alapértelmezés szerint ASP.NET weblapok ellenőrzik, hogy a felhasználói bevitel nem tartalmaz-e szkript- vagy HTML-elemeket. További információ: Szkript kihasználása – áttekintés.

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

Megjegyzések

Az FormsAuthenticationTicket osztály egy olyan objektum létrehozására szolgál, amely az űrlaphitelesítés által a hitelesített felhasználó azonosítására használt hitelesítési jegyet jelöli. Az űrlaphitelesítési jegy tulajdonságait és értékeit egy cookie-ban vagy AZ URL-ben tárolt titkosított sztringre konvertálja a rendszer.

Az FormsAuthentication osztály egy Encrypt olyan sztringértéket hoz létre, amely egy cookie-ban vagy egy url-címben FormsAuthenticationTickettárolható. Az FormsAuthentication osztály az űrlap-hitelesítési cookie-ból vagy az URL-címből lekért titkosított hitelesítési jegyből is létrehoz Decrypt egy FormsAuthenticationTicket objektumot.

Az FormsAuthenticationTicket aktuális hitelesített felhasználó az osztály tulajdonságával Ticket érhető elFormsIdentity. Az aktuális FormsIdentity objektumot úgy érheti el, hogy az Identity aktuális User tulajdonságot típusként FormsIdentityadja meg.

Konstruktorok

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

Inicializálja az FormsAuthenticationTicket osztály új példányát a cookie nevével, verziójával, könyvtár elérési útjával, kiadási dátumával, lejárati dátumával, megőrzésével és felhasználó által megadott adatokkal.

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

Inicializálja az FormsAuthenticationTicket osztály új példányát a cookie nevével, verziójával, lejárati dátumával, kiadási dátumával, megőrzésével és felhasználóspecifikus adataival. A cookie elérési útja az alkalmazás konfigurációs fájljában létrehozott alapértelmezett értékre van állítva.

FormsAuthenticationTicket(String, Boolean, Int32)

Inicializálja az FormsAuthenticationTicket osztály új példányát egy cookie-név és a lejárati adatok használatával.

Tulajdonságok

Name Description
CookiePath

Lekéri az űrlaphitelesítési jegy cookie-elérési útját.

Expiration

Lekéri az űrlaphitelesítési jegy lejáratának helyi dátumát és időpontját.

Expired

Lekéri az értéket, amely jelzi, hogy az űrlaphitelesítési jegy lejárt-e.

IsPersistent

Egy értéket kap, amely jelzi, hogy az űrlaphitelesítési jegy adatait tartalmazó cookie állandó-e.

IssueDate

Lekéri az űrlaphitelesítési jegy eredeti kiállításának helyi dátumát és időpontját.

Name

Lekéri az űrlap-hitelesítési jegyhez társított felhasználónevet.

UserData

Lekéri a jegyben tárolt felhasználóspecifikus sztringet.

Version

Lekéri a jegy verziószámát.

Metódusok

Name Description
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

A következőre érvényes:

Lásd még