Partager via


FormsAuthenticationTicket Classe

Définition

Fournit l’accès aux propriétés et valeurs du ticket utilisé avec l’authentification par formulaire pour identifier les utilisateurs. Cette classe ne peut pas être héritée.

public ref class FormsAuthenticationTicket sealed
[System.Serializable]
public sealed class FormsAuthenticationTicket
[<System.Serializable>]
type FormsAuthenticationTicket = class
Public NotInheritable Class FormsAuthenticationTicket
Héritage
FormsAuthenticationTicket
Attributs

Exemples

L’exemple de code suivant stocke le résultat de la Encrypt méthode dans un cookie à l’aide de l’URL FormsCookieName retournée par l’utilisateur à partir de la GetRedirectUrl méthode.

Important

Cet exemple contient une zone de texte qui accepte l’entrée utilisateur, qui est une menace de sécurité potentielle. Par défaut, ASP.NET pages web valident que l’entrée utilisateur n’inclut pas de script ou d’éléments HTML. Pour plus d’informations, consultez Vue d’ensemble des exploits de script.

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

Remarques

La FormsAuthenticationTicket classe est utilisée pour créer un objet qui représente le ticket d’authentification utilisé par l’authentification par formulaire pour identifier un utilisateur authentifié. Les propriétés et valeurs d’un ticket d’authentification par formulaire sont converties vers et à partir d’une chaîne chiffrée stockée dans un cookie ou dans l’URL.

La FormsAuthentication classe fournit une Encrypt méthode pour créer une valeur de chaîne qui peut être stockée dans un cookie ou dans l’URL à partir d’un FormsAuthenticationTicket. La FormsAuthentication classe fournit également une Decrypt méthode pour créer un FormsAuthenticationTicket objet à partir du ticket d’authentification chiffré récupéré à partir du cookie d’authentification par formulaire ou de l’URL.

L’utilisateur FormsAuthenticationTicket authentifié actuel est accessible à l’aide de la Ticket propriété de la FormsIdentity classe. Vous pouvez accéder à l’objet actuel FormsIdentity en cas de cast de la Identity propriété actuelle User en tant que type FormsIdentity.

Constructeurs

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

Initialise une nouvelle instance de la FormsAuthenticationTicket classe avec un nom de cookie, une version, un chemin d’accès au répertoire, une date d’expiration, une date d’expiration, une persistance et des données définies par l’utilisateur.

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

Initialise une nouvelle instance de la FormsAuthenticationTicket classe avec un nom de cookie, une version, une date d’expiration, une date de problème, une persistance et des données spécifiques à l’utilisateur. Le chemin d’accès au cookie est défini sur la valeur par défaut établie dans le fichier de configuration de l’application.

FormsAuthenticationTicket(String, Boolean, Int32)

Initialise une nouvelle instance de la classe à l’aide FormsAuthenticationTicket d’un nom de cookie et d’informations d’expiration.

Propriétés

Nom Description
CookiePath

Obtient le chemin du cookie pour le ticket d’authentification par formulaire.

Expiration

Obtient la date et l’heure locales auxquelles le ticket d’authentification par formulaire expire.

Expired

Obtient une valeur indiquant si le ticket d’authentification par formulaire a expiré.

IsPersistent

Obtient une valeur indiquant si le cookie qui contient les informations de ticket d’authentification par formulaire est persistant.

IssueDate

Obtient la date et l’heure locales auxquelles le ticket d’authentification par formulaire a été émis à l’origine.

Name

Obtient le nom d’utilisateur associé au ticket d’authentification par formulaire.

UserData

Obtient une chaîne spécifique à l’utilisateur stockée avec le ticket.

Version

Obtient le numéro de version du ticket.

Méthodes

Nom Description
Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

S’applique à

Voir aussi