Utilitaires d'authentification par formulaire
Pour gérer l'authentification par formulaire, vous pouvez utiliser des méthodes statiques de la classe FormsAuthentication. Le tableau suivant décrit ces méthodes.
Méthode | Description |
---|---|
Essaie de valider les informations d'identification à partir du magasin des informations d'identification configurées, compte tenu des informations d'identification fournies. |
|
À partir d'un ticket d'authentification chiffré obtenu à partir d'un cookie HTTP, retourne une instance de la classe FormsAuthenticationTicket. |
|
À partir d'un FormsAuthenticationTicket, génère une chaîne contenant un ticket d'authentification chiffré qui peut être utilisé dans un cookie HTTP. |
|
Récupère un cookie d'authentification chiffré en tant qu'instance de HttpCookie. Le cookie n'est pas ajouté à la collection Cookies. |
|
Retourne l'URL de redirection pour la demande qui a provoqué la redirection vers la page de connexion. |
|
À partir d'un mot de passe et d'une chaîne identifiant le type de hachage, génère un mot de passe de hachage approprié au stockage dans un fichier de configuration. |
|
Initialise la classe FormsAuthentication en lisant les paramètres de configuration et en obtenant les valeurs de cookie et les valeurs de chiffrement pour l'application active. |
|
Redirige un utilisateur authentifié vers l'URL initialement demandée. |
|
Met à jour l'expiration décalée d'un FormsAuthenticationTicket. |
|
Crée un ticket d'authentification et l'attache à la collection de cookies de la réponse sortante. |
|
Supprime le ticket d'authentification en attribuant au cookie d'authentification ou au texte de l'URL une valeur vide. Supprime les cookies persistants et les cookies propres à chaque session.
Important
Bien que la méthode SignOut supprime le ticket de la session de navigateur authentifiée, votre application reste vulnérable à une attaque par reconstitution provenant d'une source indésirable qui a « reniflé » un ticket d'authentification. Pour savoir comment limiter les risques d'une attaque par reconstitution avec l'authentification par formulaire, consultez SignOut.
|
Le tableau suivant répertorie des propriétés utiles pour la gestion des tickets d'authentification par formulaire.
Propriété | Description |
---|---|
Obtient le nom du cookie pour l'application en cours. |
|
Obtient le chemin d'accès du cookie pour l'application en cours. |
|
Obtient une valeur qui indique si l'application est configurée pour prendre en charge l'authentification par formulaire sans cookie. |
|
Obtient une valeur qui indique si l'application est configurée pour l'authentification par formulaire sans cookie. |
|
Obtient la valeur du domaine du cookie d'authentification par formulaire. |
|
Obtient l'URL vers laquelle l'authentification par formulaire redirige l'utilisateur si aucune URL de redirection n'est spécifiée. |
|
Obtient l'URL de la page de connexion vers laquelle l'authentification par formulaire redirige l'utilisateur. |
|
Obtient une valeur qui indique si les cookies doivent être transmis à l'aide de SSL (Secure Sockets Layer). |
|
Obtient une valeur indiquant si l'expiration décalée est activée. |
|
Obtient une valeur indiquant si les utilisateurs authentifiés peuvent être redirigés vers des URL d'autres applications Web lorsque le ticket d'authentification par formulaire n'est pas stocké dans un cookie. |
Vous pouvez utiliser les méthodes de la classe FormsAuthentication pour personnaliser la procédure d'authentification par formulaire. Vous pouvez également les utiliser dans le gestionnaire de la page de connexion pour éviter la tâche de génération de la redirection. L'exemple de code suivant illustre une page Web ASP.NET qui authentifie l'utilisateur et le redirige vers la page demandée.
<html>
<head>
<script language="VB" runat=server>
Sub SubmitBtn_Click(Source As Object, e As EventArgs)
' Try to authenticate credentials supplied by user.
If FormsAuthentication.Authenticate _
(UserName.Value, UserPassword.Value) Then
Dim ticket As New FormsAuthenticationTicket _
(UserName.Value, False, 5000)
FormsAuthentication.RedirectFromLoginPage _
(UserName.Value, Persist.Checked)
End If
End Sub
</script>
</head>
<body>
<form method=post runat=server>
<table>
<tr>
<td>Name:</td>
<td><input type="text" id="UserName" runat=server/>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" id="UserPassword" runat=server/>
</td>
</tr>
</table>
<input type="checkbox" id="Persist" runat=server/>
<!-- Use persistent cookie -->
<br>
<input type="submit" OnServerClick="SubmitBtn_Click" runat=server/>
</form>
</body>
</html>
<html>
<head>
<script language="C#" runat=server>
void SubmitBtn_Click(Object Source, EventArgs e)
{
// Try to authenticate credentials supplied by user.
if (FormsAuthentication.Authenticate(UserName.Value,
UserPassword.Value))
{
FormsAuthenticationTicket ticket = new
FormsAuthenticationTicket(UserName.Value, false, 5000);
FormsAuthentication.RedirectFromLoginPage(UserName.Value,
Persist.Checked);
}
}
</script>
</head>
<body>
<form method=post runat=server>
<table>
<tr>
<td>Name:</td>
<td><input type="text" id="UserName" runat=server/></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" id="UserPassword" runat=server/>
</td>
</tr>
</table>
<input type="checkbox" id="Persist" runat=server/>
<!-- Use persistent cookie. -->
<br>
<input type="submit" OnServerClick="SubmitBtn_Click" runat=server/>
</form>
</body>
</html>
Les applications qui ont besoin d'un contrôle précis sur les propriétés de cookie HTTP peuvent générer le ticket et exécuter la redirection dans du code personnalisé. Dans ce cas, vous devez utiliser les méthodes de chiffrement de la classe FormsAuthentication pour chiffrer le ticket d'authentification.
Voir aussi
Référence
FormsAuthentication
FormsAuthenticationTicket
HttpCookie
Autres ressources
Sécurité des applications Web ASP.NET
Fournisseur d'authentification par formulaire