FormsAuthenticationTicket Klas

Definitie

Biedt toegang tot eigenschappen en waarden van het ticket dat wordt gebruikt met formulierverificatie om gebruikers te identificeren. Deze klasse kan niet worden overgenomen.

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

Voorbeelden

In het volgende codevoorbeeld wordt het resultaat van de Encrypt methode opgeslagen in een cookie met behulp van de FormsCookieName methode en wordt de gebruiker omgeleid naar de URL die is geretourneerd door de GetRedirectUrl methode.

Important

Dit voorbeeld bevat een tekstvak dat gebruikersinvoer accepteert. Dit is een mogelijke beveiligingsrisico. Standaard valideren ASP.NET webpagina's dat gebruikersinvoer geen script- of HTML-elementen bevat. Zie Overzicht van Script Exploits voor meer informatie.

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

Opmerkingen

De FormsAuthenticationTicket klasse wordt gebruikt om een object te maken dat het verificatieticket vertegenwoordigt dat wordt gebruikt door formulierverificatie om een geverifieerde gebruiker te identificeren. De eigenschappen en waarden van een formulierverificatieticket worden geconverteerd naar en van een versleutelde tekenreeks die is opgeslagen in een cookie of in de URL.

De FormsAuthentication klasse biedt een Encrypt methode voor het maken van een tekenreekswaarde die kan worden opgeslagen in een cookie of in de URL van een FormsAuthenticationTicket. De FormsAuthentication klasse biedt ook een Decrypt methode om een FormsAuthenticationTicket object te maken op basis van het versleutelde verificatieticket dat is opgehaald uit de cookie voor formulierverificatie of de URL.

De FormsAuthenticationTicket voor de huidige geverifieerde gebruiker kan worden geopend met behulp van de Ticket eigenschap van de FormsIdentity klasse. U kunt toegang krijgen tot het huidige FormsIdentity object door de Identity eigenschap van het huidige User als type FormsIdentityte casten.

Constructors

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

Initialiseert een nieuw exemplaar van de FormsAuthenticationTicket klasse met cookienaam, versie, mappad, uitgiftedatum, vervaldatum, persistentie en door de gebruiker gedefinieerde gegevens.

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

Initialiseert een nieuw exemplaar van de FormsAuthenticationTicket klasse met cookienaam, versie, vervaldatum, uitgiftedatum, persistentie en gebruikersspecifieke gegevens. Het cookiepad wordt ingesteld op de standaardwaarde die is ingesteld in het configuratiebestand van de toepassing.

FormsAuthenticationTicket(String, Boolean, Int32)

Initialiseert een nieuw exemplaar van de FormsAuthenticationTicket klasse met behulp van een cookienaam en verloopgegevens.

Eigenschappen

Name Description
CookiePath

Hiermee haalt u het cookiepad voor het formulierverificatieticket op.

Expiration

Hiermee haalt u de lokale datum en tijd op waarop het ticket voor formulierverificatie verloopt.

Expired

Hiermee wordt een waarde opgehaald die aangeeft of het ticket voor formulierverificatie is verlopen.

IsPersistent

Hiermee wordt een waarde opgehaald die aangeeft of de cookie die de ticketgegevens voor formulieren bevat, permanent is.

IssueDate

Hiermee haalt u de lokale datum en tijd op waarop het formulierverificatieticket oorspronkelijk is uitgegeven.

Name

Hiermee haalt u de gebruikersnaam op die is gekoppeld aan het ticket voor formulierverificatie.

UserData

Hiermee haalt u een gebruikersspecifieke tekenreeks op die is opgeslagen met het ticket.

Version

Hiermee haalt u het versienummer van het ticket op.

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op

Zie ook