Membership 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.
Valide les informations d'identification de l'utilisateur et gère les paramètres utilisateurs. Cette classe ne peut pas être héritée.
public ref class Membership abstract sealed
public static class Membership
type Membership = class
Public Class Membership
- Héritage
-
Membership
Exemples
L’exemple de code suivant montre la page de connexion d’une application ASP.NET configurée pour utiliser l’authentification par formulaire et ASP.NET appartenance. Si les informations d’identification de l’utilisateur fournies ne sont pas valides, un message s’affiche à l’utilisateur. Sinon, l’utilisateur est redirigé vers l’URL demandée à l’origine à l’aide de la RedirectFromLoginPage méthode .
Notes
Les contrôles de connexion ASP.NET (Login, , LoginViewLoginStatus, LoginNameet PasswordRecovery) encapsulent pratiquement toute la logique requise pour inviter les utilisateurs à entrer des informations d’identification et valider les informations d’identification dans le système d’appartenance et peuvent être utilisés à la place de la vérification par programmation à l’aide de la Membership classe .
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
La Membership classe est utilisée dans les applications ASP.NET pour valider les informations d’identification de l’utilisateur et gérer les paramètres utilisateur tels que les mots de passe et les adresses e-mail. La Membership classe peut être utilisée seule ou conjointement avec pour FormsAuthentication créer un système complet d’authentification des utilisateurs d’une application web ou d’un site. Le Login contrôle encapsule la Membership classe pour fournir un mécanisme pratique de validation des utilisateurs.
Notes
Si vous n’êtes pas familiarisé avec les fonctionnalités d’appartenance de ASP.NET, consultez Présentation de l’appartenance avant de continuer. Pour obtenir la liste des autres rubriques relatives à l’appartenance, consultez Gestion des utilisateurs à l’aide de l’appartenance.
La Membership classe fournit des installations pour :
Créer des utilisateurs
Stockage des informations d’appartenance (noms d’utilisateur, mots de passe, adresses e-mail et données de prise en charge) dans Microsoft SQL Server ou dans un autre magasin de données.
Authentification des utilisateurs qui visitent votre site. Vous pouvez authentifier les utilisateurs par programmation, ou vous pouvez utiliser le Login contrôle pour créer un système d’authentification complet qui nécessite peu ou pas de code.
Gestion des mots de passe, notamment la création, la modification, la récupération et la réinitialisation de ces mots de passe, etc. Vous pouvez éventuellement configurer ASP.NET appartenance pour exiger une question et une réponse de mot de passe pour authentifier les demandes de réinitialisation ou de récupération de mot de passe pour les utilisateurs qui ont oublié leur mot de passe.
Bien que ASP.NET’appartenance soit une fonctionnalité autonome dans ASP.NET Pour l’authentification, elle peut être intégrée à ASP.NET gestion des rôles pour fournir des services d’autorisation pour votre site. L’appartenance peut également être intégrée à l’utilisateur System.Web.Profile ASP.NET pour fournir une personnalisation spécifique à l’application qui peut être adaptée aux utilisateurs individuels. Pour plus d’informations, consultez Présentation de la gestion des rôles et des propriétés de profil ASP.NET.
La Membership classe s’appuie sur des fournisseurs d’appartenance pour communiquer avec une source de données. Le .NET Framework comprend un SqlMembershipProvider, qui stocke les informations utilisateur dans une base de données Microsoft SQL Server, et un , qui vous permet de ActiveDirectoryMembershipProviderstocker des informations utilisateur sur un serveur Active Directory ou Active Directory Application Mode (ADAM). Vous pouvez également implémenter un fournisseur d’appartenance personnalisé pour communiquer avec une autre source de données qui peut être utilisée par la Membership classe. Les fournisseurs d’appartenance personnalisés héritent de la MembershipProvider classe abstraite. Pour plus d’informations, consultez Implémentation d’un fournisseur d’appartenance.
Par défaut, ASP.NET’appartenance est activée pour toutes les applications ASP.NET. Le fournisseur d’appartenance par défaut est et SqlMembershipProvider est spécifié dans la configuration de l’ordinateur avec le nom AspNetSqlProvider
. L’instance par défaut de SqlMembershipProvider est configurée pour se connecter à une instance locale de Microsoft SQL Server.
Vous pouvez modifier les paramètres par défaut pour spécifier un SqlMembershipProvider autre que l’instance AspNetSqlProvider
comme fournisseur par défaut, ou spécifier une instance d’un fournisseur personnalisé comme fournisseur par défaut pour votre application ASP.NET à l’aide du fichier Web.config. Vous pouvez spécifier la configuration d’appartenance ASP.NET pour votre application web à l’aide de la section configuration de l’appartenance dans le fichier Web.config. Vous pouvez utiliser la sous-section fournisseurs de la section appartenance pour spécifier un fournisseur d’appartenance autre qu’un des fournisseurs par défaut. Par exemple, la section d’appartenance suivante supprime les fournisseurs d’appartenance par défaut de la configuration d’application actuelle et ajoute un nouveau fournisseur avec un nom de SqlProvider
qui se connecte à une instance SQL Server nommée AspSqlServer
.
<configuration>
<connectionStrings>
<add name="SqlServices" connectionString="Data Source=AspSqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
</connectionStrings>
<system.web>
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
<providers>
<remove name="AspNetSqlProvider" />
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
passwordFormat="Hashed"
applicationName="/" />
</providers>
</membership>
</system.web>
</configuration>
Propriétés
ApplicationName |
Obtient ou définit le nom de l'application. |
EnablePasswordReset |
Obtient une valeur indiquant si le fournisseur d'appartenances courant est configuré pour permettre aux utilisateurs de réinitialiser leurs mots de passe. |
EnablePasswordRetrieval |
Obtient une valeur indiquant si le fournisseur d'appartenances courant est configuré pour permettre aux utilisateurs de récupérer leurs mots de passe. |
HashAlgorithmType |
Identificateur de l'algorithme utilisé pour hacher des mots de passe. |
MaxInvalidPasswordAttempts |
Obtient le nombre de tentatives autorisées de saisie de mot de passe ou de réponse de mot de passe non valide avant que l’utilisateur d’appartenance soit verrouillé. |
MinRequiredNonAlphanumericCharacters |
Obtient le nombre minimal de caractères spéciaux qui doivent être présents dans un mot de passe. |
MinRequiredPasswordLength |
Obtient la longueur minimale requise pour un mot de passe. |
PasswordAttemptWindow |
Obtient la fenêtre de temps durant laquelle sont suivis les échecs des tentatives successives pour fournir un mot de passe ou une réponse de mot de passe valide. |
PasswordStrengthRegularExpression |
Obtient l’expression régulière utilisée pour évaluer un mot de passe. |
Provider |
Obtient une référence au fournisseur d'appartenances par défaut pour l'application. |
Providers |
Obtient une collection des fournisseurs d'appartenances pour l'application ASP.NET. |
RequiresQuestionAndAnswer |
Obtient une valeur qui indique si le fournisseur d'appartenances par défaut exige que l'utilisateur réponde à une question de mot de passe pour la réinitialisation et la récupération de mot de passe. |
UserIsOnlineTimeWindow |
Spécifie le nombre de minutes devant s'écouler après l'horodatage de dernière activité pour qu'un utilisateur soit considéré en ligne. |
Méthodes
CreateUser(String, String) |
Ajoute un nouvel utilisateur au magasin de données. |
CreateUser(String, String, String) |
Ajoute au magasin de données un nouvel utilisateur avec une adresse e-mail spécifiée. |
CreateUser(String, String, String, String, String, Boolean, MembershipCreateStatus) |
Ajoute au magasin de données un nouvel utilisateur avec les valeurs de propriété spécifiées et retourne un paramètre d'état indiquant que l'utilisateur a été correctement créé ou la raison de l'échec de la création. |
CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) |
Ajoute au magasin de données un nouvel utilisateur avec les valeurs de propriété spécifiées et un identificateur unique, puis retourne un paramètre d'état indiquant que l'utilisateur a été correctement créé ou la raison de l'échec de la création. |
DeleteUser(String) |
Supprime un utilisateur et toutes les données utilisateur connexes dans la base de données. |
DeleteUser(String, Boolean) |
Supprime un utilisateur de la base de données. |
FindUsersByEmail(String) |
Obtient une collection d’utilisateurs d’appartenance dont l’adresse e-mail contient l’adresse e-mail spécifiée. |
FindUsersByEmail(String, Int32, Int32, Int32) |
Obtient une collection d’utilisateurs d’appartenance dont l’adresse e-mail correspond à l’adresse spécifiée, sous forme de page de données. |
FindUsersByName(String) |
Obtient une collection d'utilisateurs d'appartenance dont le nom d'utilisateur correspond au nom spécifié. |
FindUsersByName(String, Int32, Int32, Int32) |
Obtient une collection d'utilisateurs d'appartenance dont le nom d'utilisateur correspond au nom spécifié, sous forme de page de données. |
GeneratePassword(Int32, Int32) |
Génère un mot de passe aléatoire de la longueur spécifiée. |
GetAllUsers() |
Obtient une collection de tous les utilisateurs dans la base de données. |
GetAllUsers(Int32, Int32, Int32) |
Obtient une collection de tous les utilisateurs dans la base de données sous forme de pages de données. |
GetNumberOfUsersOnline() |
Obtient le nombre d'utilisateurs qui accèdent actuellement à une application. |
GetUser() |
Obtient les informations de la source de données et met à jour les informations de date et d'heure de dernière activité pour l'utilisateur d'appartenance connecté. |
GetUser(Boolean) |
Obtient de la source de données les informations sur l'utilisateur d'appartenance connecté. Met à jour les informations de date et d'heure de dernière activité pour l'utilisateur d'appartenance connecté, le cas échéant. |
GetUser(Object) |
Obtient de la source de données les informations sur l'utilisateur d'appartenance associé à l'identificateur unique spécifié. |
GetUser(Object, Boolean) |
Obtient de la source de données les informations sur l'utilisateur d'appartenance associé à l'identificateur unique spécifié. Met à jour les informations de date et d'heure de dernière activité de l'utilisateur, le cas échéant. |
GetUser(String) |
Obtient de la source de données les informations sur l'utilisateur d'appartenance spécifié. |
GetUser(String, Boolean) |
Obtient de la source de données les informations sur l'utilisateur d'appartenance spécifié. Met à jour les informations de date et d'heure de dernière activité de l'utilisateur, le cas échéant. |
GetUserNameByEmail(String) |
Obtient un nom d’utilisateur dont l’adresse e-mail correspond à celle qui est spécifiée. |
UpdateUser(MembershipUser) |
Met à jour la base de données avec les informations de l'utilisateur spécifié. |
ValidateUser(String, String) |
Vérifie que le nom d'utilisateur et le mot de passe fournis sont valides. |
Événements
ValidatingPassword |
Se produit quand un utilisateur est créé ou quand un mot de passe est modifié ou réinitialisé. |