FormsAuthentication Classe

Définition

Gère les services d'authentification par formulaire pour les applications Web.Manages forms-authentication services for Web applications. Cette classe ne peut pas être héritée.This class cannot be inherited.

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 d’une application ASP.NET qui utilise le fournisseur d’appartenances ASP.NET pour l’authentification par formulaire et requiert que tous les utilisateurs soient authentifiés.The following code example shows the Web.config file for an ASP.NET application that uses the ASP.NET membership provider for forms authentication and requires all users to be authenticated.

<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 affiche la page de connexion pour une application ASP.NET qui utilise l’authentification par formulaire et l’appartenance à ASP.NET.The following code example shows the login page for an ASP.NET application that uses forms authentication and ASP.NET membership.

Important

Cet exemple contient une zone de texte qui accepte les entrées de l’utilisateur, ce qui constitue une menace potentielle pour la sécurité.This example contains a text box that accepts user input, which is a potential security threat. 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.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Pour plus d’informations, consultez Vue d’ensemble des attaques de script.For more information, see Script Exploits Overview.

<%@ 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 l’authentification Windows.Forms authentication enables user and password validation for Web applications that do not require Windows authentication. 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.With forms authentication, user information is stored in an external data source, such as a Membership database, or in the configuration file for an application. Une fois qu’un utilisateur est authentifié, l’authentification par formulaire conserve un ticket d’authentification dans un cookie ou dans l’URL pour qu’un utilisateur authentifié n’ait pas besoin de fournir des informations d’identification à chaque demande.Once a user is authenticated, forms authentication maintains an authentication ticket in a cookie or in the URL so that an authenticated user does not need to supply credentials with each request.

L’authentification par formulaire est activée en définissant l’attribut mode de l’élément de configuration d' authentification sur Forms.Forms authentication is enabled by setting the mode attribute of the authentication configuration element to 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.You can require that all requests to an application contain a valid user authentication ticket by using the authorization configuration element to deny the request of any unknown user, as shown in the following example.

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

Dans l’exemple précédent, toute demande pour une page ASP.NET qui fait partie de l’application requiert un nom d’utilisateur valide fourni par l’authentification par formulaire.In the previous example, any request for an ASP.NET page that is part of the application requires a valid user name that is supplied by forms authentication. Si aucun nom d’utilisateur n’existe, la demande est redirigée vers le LoginUrlconfiguré.If no user name exists, then the request is redirected to the configured LoginUrl.

La classe FormsAuthentication fournit l’accès aux méthodes et aux propriétés que vous pouvez utiliser dans une application qui authentifie les utilisateurs.The FormsAuthentication class provides access to methods and properties that you can use in an application that authenticates users. La méthode RedirectToLoginPage redirige un navigateur vers le LoginUrl configuré pour permettre aux utilisateurs de se connecter à une application.The RedirectToLoginPage method redirects a browser to the configured LoginUrl for users to log into an application. La méthode RedirectFromLoginPage redirige un utilisateur authentifié vers l’URL protégée d’origine qui a été demandée ou vers le DefaultUrl.The RedirectFromLoginPage method redirects an authenticated user back to the original protected URL that was requested or to the DefaultUrl. Il existe également des méthodes qui vous permettent de gérer les tickets d’authentification par formulaire, si nécessaire.There are also methods that enable you to manage forms-authentication tickets, if needed.

Constructeurs

FormsAuthentication()

Initialise une nouvelle instance de la classe FormsAuthentication.Initializes a new instance of the FormsAuthentication class.

Propriétés

CookieDomain

Obtient la valeur du domaine du cookie d'authentification par formulaire.Gets the value of the domain of the forms-authentication cookie.

CookieMode

Obtient une valeur qui indique si l'application est configurée pour l'authentification par formulaire sans cookie.Gets a value that indicates whether the application is configured for cookieless forms authentication.

CookieSameSite

Obtient ou définit la valeur de l’attribut SameSite du cookie.Gets or sets the value for the SameSite attribute of the cookie.

CookiesSupported

Obtient une valeur qui indique si l'application est configurée pour prendre en charge l'authentification par formulaire sans cookie.Gets a value that indicates whether the application is configured to support cookieless forms authentication.

DefaultUrl

Obtient l'URL vers laquelle la classe FormsAuthentication effectuera la redirection si aucune URL de redirection n'est spécifiée.Gets the URL that the FormsAuthentication class will redirect to if no redirect URL is specified.

EnableCrossAppRedirects

Obtient une valeur qui indique si les utilisateurs authentifiés peuvent être redirigés vers des URL dans d'autres applications Web.Gets a value indicating whether authenticated users can be redirected to URLs in other Web applications.

FormsCookieName

Obtient le nom du cookie utilisé pour stocker le ticket d'authentification par formulaire.Gets the name of the cookie used to store the forms-authentication ticket.

FormsCookiePath

Obtient le chemin d'accès au cookie d'authentification par formulaire.Gets the path for the forms-authentication cookie.

IsEnabled

Obtient une valeur qui indique si l'authentification des formulaires est activé.Gets a value that indicates whether forms authentication is enabled.

LoginUrl

Obtient l'URL de la page de connexion vers laquelle la classe FormsAuthentication effectuera la redirection.Gets the URL for the login page that the FormsAuthentication class will redirect to.

RequireSSL

Obtient une valeur indiquant si le cookie d'authentification par formulaire requiert une connexion SSL pour être retourné au serveur.Gets a value indicating whether the forms-authentication cookie requires SSL in order to be returned to the server.

SlidingExpiration

Obtient une valeur indiquant si l'expiration décalée est activée.Gets a value indicating whether sliding expiration is enabled.

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.Gets a value that indicates whether to use Coordinated Universal Time (UTC) or local time for the ticket expiration date.

Timeout

Obtient la durée avant expiration d'un ticket d'authentification.Gets the amount of time before an authentication ticket expires.

Méthodes

Authenticate(String, String)

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.Validates a user name and password against credentials stored in the configuration file for an application.

Decrypt(String)

Crée un objet FormsAuthenticationTicket selon le ticket d'authentification par formulaire chiffré passé à la méthode.Creates a FormsAuthenticationTicket object based on the encrypted forms-authentication ticket passed to the method.

EnableFormsAuthentication(NameValueCollection)

Active l'authentification par formulaire.Enables forms authentication.

Encrypt(FormsAuthenticationTicket)

Crée une chaîne contenant un ticket d'authentification par formulaire chiffré qui peut être utilisé dans un cookie HTTP.Creates a string containing an encrypted forms-authentication ticket suitable for use in an HTTP cookie.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

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

Crée un cookie d'authentification pour un nom d'utilisateur donné.Creates an authentication cookie for a given user name. 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.This does not set the cookie as part of the outgoing response, so that an application can have more control over how the cookie is issued.

GetAuthCookie(String, Boolean, String)

Crée un cookie d'authentification pour un nom d'utilisateur donné.Creates an authentication cookie for a given user name. Cela ne définit pas le cookie dans le cadre de la réponse sortante.This does not set the cookie as part of the outgoing response.

GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

(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.Returns the redirect URL for the original request that caused the redirect to the login page.

GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
HashPasswordForStoringInConfigFile(String, String)

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.Produces a hash password suitable for storing in a configuration file based on the specified password and hash algorithm.

Initialize()

Initialise l'objet FormsAuthentication selon les paramètres de configuration de l'application.Initializes the FormsAuthentication object based on the configuration settings for the application.

MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

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

Redirige un utilisateur authentifié vers l'URL demandée à l'origine ou l'URL par défaut.Redirects an authenticated user back to the originally requested URL or the default URL.

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.Redirects an authenticated user back to the originally requested URL or the default URL using the specified cookie path for the forms-authentication cookie.

RedirectToLoginPage()

Redirige le navigateur vers l'URL de connexion.Redirects the browser to the login URL.

RedirectToLoginPage(String)

Redirige le navigateur vers l'URL de connexion avec la chaîne de requête spécifiée.Redirects the browser to the login URL with the specified query string.

RenewTicketIfOld(FormsAuthenticationTicket)

Met à jour de manière conditionnelle les dates et heures d'émission et d'expiration d'un FormsAuthenticationTicket.Conditionally updates the issue date and time and expiration date and time for a 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.Creates an authentication ticket for the supplied user name and adds it to the cookies collection of the response, or to the URL if you are using cookieless authentication.

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.Creates an authentication ticket for the supplied user name and adds it to the cookies collection of the response, using the supplied cookie path, or using the URL if you are using cookieless authentication.

SignOut()

Supprime du navigateur le ticket d'authentification par formulaire.Removes the forms-authentication ticket from the browser.

ToString()

Retourne une chaîne qui représente l'objet en cours.Returns a string that represents the current object.

(Hérité de Object)

Sécurité

AspNetHostingPermission
Pour utiliser la classe FormsAuthentication dans un environnement hébergé.To use the FormsAuthentication class in a hosted environment. Valeur de la demande : LinkDemand.Demand value: LinkDemand. Valeur d’autorisation : Minimal.Permission value: Minimal.

S’applique à

Voir aussi