Membership Classe

Définition

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 l’appartenance ASP.NET. 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, , LoginView, LoginStatusLoginNameet PasswordRecovery) encapsulent pratiquement toutes les logiques requises pour inviter les utilisateurs à obtenir 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 ASP.NET applications 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 par elle-même ou conjointement avec la FormsAuthentication création d’un système complet pour authentifier les utilisateurs d’une application web ou d’un site. Le Login contrôle encapsule la Membership classe pour fournir un mécanisme pratique pour valider les 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 d’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 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, qui incluent la création, la modification, la récupération et la réinitialisation des mots de passe, et ainsi de suite. Vous pouvez éventuellement configurer ASP.NET appartenance pour exiger une question de mot de passe et répondre à l’authentification des 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 à des utilisateurs individuels. Pour plus d’informations, consultez Présentation de la gestion des rôles et ASP.NET Vue d’ensemble des propriétés de profil.

La Membership classe s’appuie sur les fournisseurs d’appartenance pour communiquer avec une source de données. Le .NET Framework inclut un SqlMembershipProvider, qui stocke les informations utilisateur dans une base de données Microsoft SQL Server et un ActiveDirectoryMembershipProvider, qui vous permet de stocker 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’appartenances.

Par défaut, l’appartenance ASP.NET est activée pour toutes les applications ASP.NET. Le fournisseur d’appartenance par défaut est le SqlMembershipProvider et est spécifié dans la configuration de l’ordinateur avec le nom AspNetSqlProvider. L’instance par défaut du SqlMembershipProvider fichier 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 en tant que 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 que l’un des fournisseurs par défaut. Par exemple, la section d’appartenance suivante supprime les fournisseurs d’appartenance par défaut de la configuration de l’application actuelle et ajoute un nouveau fournisseur avec un nom qui SqlProvider se connecte à une instance de 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é.

S’applique à

Voir aussi