FormsAuthentication Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 d’une application ASP.NET qui utilise le fournisseur d’appartenance ASP.NET pour l’authentification par formulaire et exige que tous les utilisateurs soient authentifiés.
<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 l’appartenance ASP.NET.
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">
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 des utilisateurs et des mots 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 Formsde configuration d’authentification sur . 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 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 fichier 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 navigateur 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 qui a été demandée ou vers le DefaultUrl. Il existe également des méthodes qui vous permettent de gérer les tickets d’authentification par formulaire, si nécessaire.
Constructeurs
| Nom | Description |
|---|---|
| FormsAuthentication() |
Initialise une nouvelle instance de la classe FormsAuthentication. |
Propriétés
| Nom | Description |
|---|---|
| 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 FormsAuthentication classe redirige si aucune URL de redirection n’est spécifiée. |
| EnableCrossAppRedirects |
Obtient une valeur indiquant 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 du cookie d’authentification par formulaire. |
| IsEnabled |
Obtient une valeur qui indique si l’authentification par formulaire est activée. |
| LoginUrl |
Obtient l’URL de la page de connexion vers laquelle la FormsAuthentication classe redirige. |
| RequireSSL |
Obtient une valeur indiquant si le cookie d’authentification par formulaire requiert SSL pour être retourné au serveur. |
| SlidingExpiration |
Obtient une valeur indiquant si l’expiration glissante est activée. |
| TicketCompatibilityMode |
Obtient une valeur qui indique s’il faut utiliser le temps universel coordonné (UTC) ou l’heure locale pour la date d’expiration du ticket. |
| Timeout |
Obtient la durée d’expiration d’un ticket d’authentification. |
Méthodes
| Nom | Description |
|---|---|
| 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 FormsAuthenticationTicket objet basé sur le ticket d’authentification par formulaire chiffré transmis à 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é adapté à une utilisation 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, 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. |
| GetAuthCookie(String, Boolean) |
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, afin qu’une application puisse avoir plus de contrôle sur la façon dont le cookie est émis. |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetRedirectUrl(String, Boolean) |
Retourne l’URL de redirection de la requête d’origine qui a provoqué la redirection vers la page de connexion. |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| HashPasswordForStoringInConfigFile(String, String) |
Obsolète.
Produit un mot de passe de hachage adapté au stockage dans un fichier de configuration en fonction du mot de passe et de l’algorithme de hachage spécifiés. |
| Initialize() |
Initialise l’objet FormsAuthentication en fonction des paramètres de configuration de l’application. |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| 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 de cookie spécifié pour le cookie d’authentification par formulaire. |
| RedirectFromLoginPage(String, Boolean) |
Redirige un utilisateur authentifié vers l’URL demandée à l’origine ou l’URL par défaut. |
| 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 conditionnellement la date et l’heure du problème et la date et l’heure d’expiration d’un FormsAuthenticationTicket. |
| 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 de cookie fourni ou à l’URL si vous utilisez l’authentification sans cookie. |
| 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 l’authentification sans cookie. |
| SignOut() |
Supprime le ticket d’authentification par formulaire du navigateur. |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |