FormsAuthentication Classe

Définition

Gère les services d'authentification par formulaire pour les applications Web. Cette classe ne peut pas être héritée.

public ref class FormsAuthentication sealed
public sealed class FormsAuthentication
type FormsAuthentication = class
Public NotInheritable Class FormsAuthentication
Héritage
FormsAuthentication

Exemples

L’exemple de code suivant montre le fichier Web.config pour une application ASP.NET qui utilise le fournisseur d’appartenance ASP.NET pour l’authentification par formulaire et exige l’authentification de tous les utilisateurs.

<configuration>
  <connectionStrings>
    <add name="SqlServices" connectionString="Data Source=MySqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
  </connectionStrings>
  <system.web>
    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
      <providers>
        <add name="SqlProvider"
          type="System.Web.Security.SqlMembershipProvider"
          connectionStringName="SqlServices"
          enablePasswordRetrieval="false"
          enablePasswordReset="true"
          requiresQuestionAndAnswer="true"
          passwordFormat="Hashed"
          applicationName="/" />
      </providers>
    </membership>
  </system.web>
</configuration>

L’exemple de code suivant montre la page de connexion d’une application ASP.NET qui utilise l’authentification par formulaire et ASP.NET appartenance.

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, les pages web ASP.NET vérifient que l’entrée d’utilisateur n’inclut pas de script ou d’éléments HTML. Pour plus d’informations, consultez Vue d’ensemble des attaques 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">

public void Login_OnClick(object sender, EventArgs args)
{
   if (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text))
      FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked);
   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>Login</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Login</h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />

  Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
  Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
 
  <asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
  <asp:CheckBox id="NotPublicCheckBox" runat="server" /> 
  Check here if this is <span style="text-decoration:underline">not</span> a public computer.

</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">

Public Sub Login_OnClick(sender As Object, args As  EventArgs)

   If (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text)) Then
      FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked)
   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>Login</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Login</h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />

  Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
  Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
 
  <asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
  <asp:CheckBox id="NotPublicCheckBox" runat="server" /> 
  Check here if this is <span style="text-decoration:underline">not</span> a public computer.

</form>

</body>
</html>

Remarques

L’authentification par formulaire permet la validation de l’utilisateur et du mot de passe pour les applications web qui ne nécessitent pas de Authentification Windows. Avec l’authentification par formulaire, les informations utilisateur sont stockées dans une source de données externe, telle qu’une Membership base de données, ou dans le fichier de configuration d’une application. Une fois qu’un utilisateur est authentifié, l’authentification par formulaire conserve un ticket d’authentification dans un cookie ou dans l’URL afin qu’un utilisateur authentifié n’ait pas besoin de fournir des informations d’identification à chaque demande.

L’authentification par formulaire est activée en définissant l’attribut mode de l’élément de configuration d’authentification sur Forms. Vous pouvez exiger que toutes les demandes adressées à une application contiennent un ticket d’authentification utilisateur valide à l’aide de l’élément de configuration d’autorisation pour refuser la demande d’un utilisateur inconnu, comme illustré dans l’exemple suivant.

<system.web>
  <authentication mode="Forms">
    <forms loginUrl="login.aspx" />
  </authentication>
  <authorization>
    <deny users="?" />
  </authorization>
</system.web>

Dans l’exemple précédent, toute demande d’une page de ASP.NET qui fait partie de l’application nécessite un nom d’utilisateur valide fourni par l’authentification par formulaire. Si aucun nom d’utilisateur n’existe, la demande est redirigée vers le configuré LoginUrl.

La FormsAuthentication classe fournit l’accès aux méthodes et aux propriétés que vous pouvez utiliser dans une application qui authentifie les utilisateurs. La RedirectToLoginPage méthode redirige un navigateur vers le configuré LoginUrl pour que les utilisateurs se connectent à une application. La RedirectFromLoginPage méthode redirige un utilisateur authentifié vers l’URL protégée d’origine demandée ou vers .DefaultUrl Il existe également des méthodes qui vous permettent de gérer des tickets d’authentification par formulaire, si nécessaire.

Constructeurs

FormsAuthentication()

Initialise une nouvelle instance de la classe FormsAuthentication.

Propriétés

CookieDomain

Obtient la valeur du domaine du cookie d'authentification par formulaire.

CookieMode

Obtient une valeur qui indique si l'application est configurée pour l'authentification par formulaire sans cookie.

CookieSameSite

Obtient ou définit la valeur de l’attribut SameSite du cookie.

CookiesSupported

Obtient une valeur qui indique si l'application est configurée pour prendre en charge l'authentification par formulaire sans cookie.

DefaultUrl

Obtient l'URL vers laquelle la classe FormsAuthentication effectuera la redirection si aucune URL de redirection n'est spécifiée.

EnableCrossAppRedirects

Obtient une valeur qui indique si les utilisateurs authentifiés peuvent être redirigés vers des URL dans d'autres applications Web.

FormsCookieName

Obtient le nom du cookie utilisé pour stocker le ticket d'authentification par formulaire.

FormsCookiePath

Obtient le chemin d'accès au cookie d'authentification par formulaire.

IsEnabled

Obtient une valeur qui indique si l'authentification des formulaires est activé.

LoginUrl

Obtient l'URL de la page de connexion vers laquelle la classe FormsAuthentication effectuera la redirection.

RequireSSL

Obtient une valeur indiquant si le cookie d'authentification par formulaire requiert une connexion SSL pour être retourné au serveur.

SlidingExpiration

Obtient une valeur indiquant si l'expiration décalée est activée.

TicketCompatibilityMode

Obtient une valeur qui indique s'il convient d'utiliser le temps universel coordonné ou l'heure locale pour la date d'expiration du ticket.

Timeout

Obtient la durée avant expiration d'un ticket d'authentification.

Méthodes

Authenticate(String, String)
Obsolète.

Valide un nom d'utilisateur et un mot de passe par rapport aux informations d'identification stockées dans le fichier de configuration d'une application.

Decrypt(String)

Crée un objet FormsAuthenticationTicket selon le ticket d'authentification par formulaire chiffré passé à la méthode.

EnableFormsAuthentication(NameValueCollection)

Active l'authentification par formulaire.

Encrypt(FormsAuthenticationTicket)

Crée une chaîne contenant un ticket d'authentification par formulaire chiffré qui peut être utilisé dans un cookie HTTP.

Equals(Object)

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

(Hérité de Object)
GetAuthCookie(String, Boolean)

Crée un cookie d'authentification pour un nom d'utilisateur donné. Le cookie n'est pas pour autant défini comme faisant partie de la réponse sortante, de sorte qu'une application peut contrôler davantage la façon dont le cookie est émis.

GetAuthCookie(String, Boolean, String)

Crée un cookie d'authentification pour un nom d'utilisateur donné. Cela ne définit pas le cookie dans le cadre de la réponse sortante.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetRedirectUrl(String, Boolean)

Retourne l'URL de redirection pour la requête d'origine qui a provoqué la redirection vers la page de connexion.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
HashPasswordForStoringInConfigFile(String, String)
Obsolète.

Crée un mot de passe de hachage approprié au stockage dans un fichier de configuration selon le mot de passe et l'algorithme de hachage spécifiés.

Initialize()

Initialise l'objet FormsAuthentication selon les paramètres de configuration de l'application.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
RedirectFromLoginPage(String, Boolean)

Redirige un utilisateur authentifié vers l'URL demandée à l'origine ou l'URL par défaut.

RedirectFromLoginPage(String, Boolean, String)

Redirige un utilisateur authentifié vers l'URL demandée à l'origine ou l'URL par défaut à l'aide du chemin d'accès spécifié pour le cookie d'authentification par formulaire.

RedirectToLoginPage()

Redirige le navigateur vers l'URL de connexion.

RedirectToLoginPage(String)

Redirige le navigateur vers l'URL de connexion avec la chaîne de requête spécifiée.

RenewTicketIfOld(FormsAuthenticationTicket)

Met à jour de manière conditionnelle les dates et heures d'émission et d'expiration d'un FormsAuthenticationTicket.

SetAuthCookie(String, Boolean)

Crée un ticket d'authentification pour le nom d'utilisateur fourni et l'ajoute à la collection de cookies de la réponse, ou à l'URL si vous utilisez une authentification sans cookies.

SetAuthCookie(String, Boolean, String)

Crée un ticket d'authentification pour le nom d'utilisateur fourni et l'ajoute à la collection de cookies de la réponse, à l'aide du chemin d'accès au cookie fourni ou de l'URL si vous utilisez une authentification sans cookies.

SignOut()

Supprime du navigateur le ticket d'authentification par formulaire.

ToString()

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

(Hérité de Object)

S’applique à

Voir aussi