Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
Exporter (0) Imprimer
Développer tout

Membership, classe

Mise à jour : novembre 2007

Valide les informations d'identification de l'utilisateur et gère les paramètres utilisateurs. Cette classe ne peut pas être héritée.

Espace de noms :  System.Web.Security
Assembly :  System.Web (dans System.Web.dll)

[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public static class Membership
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal) */
public final class Membership
public final class Membership

La classe Membership est utilisée dans les applications ASP.NET pour valider les informations d'identification de l'utilisateur et gérer les paramètres utilisateurs tels que les mots de passe et les adresses de messagerie. La classe Membership peut être utilisée seule ou conjointement avec FormsAuthentication afin de créer un système complet pour authentifier les utilisateurs d'un site ou d'une application Web. Le contrôle Login encapsule la classe Membership afin de fournir un mécanisme pratique pour valider les utilisateurs.

Remarque :

Si vous n'êtes pas familiarisé avec les fonctionnalités d'appartenance (membership) d'ASP.NET, consultez Introduction à l'appartenance (membership) avant de continuer. Pour obtenir la liste des autres rubriques relatives à l'appartenance (membership), consultez Gestion des utilisateurs à l'aide de l'appartenance.

La classe Membership fournit des fonctionnalités pour exécuter les opérations suivantes :

  • Création d'utilisateurs.

  • Stockage des informations d'appartenance (membership), telles que les noms d'utilisateurs, les mots de passe, les adresses de messagerie et les 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 des utilisateurs par programme ou vous pouvez utiliser le contrôle Login pour créer un système d'authentification complet qui requiert peu ou pas de code.

  • Gestion des mots de passe, qui inclut la création, la modification, la récupération et la réinitialisation, etc. Vous pouvez éventuellement configurer l'appartenance d'ASP.NET afin d'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 l'appartenance d'ASP.NET soit une fonctionnalité autonome dans l'authentification ASP.NET, elle peut être associée à la gestion des rôles ASP.NET pour fournir des services d'autorisation à votre site. L'appartenance peut également être associée au System.Web.Profile utilisateur 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 Vue d'ensemble des propriétés du profil ASP.NET.

La classe Membership s'appuie sur des fournisseurs d'appartenances pour communiquer avec une source de données. Le .NET Framework inclut un SqlMembershipProvider qui stocke des 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 ADAM (Active Directory Application Mode). Vous pouvez également implémenter un fournisseur d'appartenances personnalisé afin qu'il communique avec une autre source de données pouvant être utilisée par la classe Membership. Les fournisseurs d'appartenances personnalisés héritent de la classe abstraite MembershipProvider. Pour plus d'informations, consultez Implémentation d'un fournisseur d'appartenances.

Par défaut, l'appartenance d'ASP.NET est activée pour toutes les applications ASP.NET. Le fournisseur d'appartenances par défaut est le SqlMembershipProvider et est appelé AspNetSqlProvider dans la configuration de l'ordinateur. 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 de 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 d'ASP.NET de votre application Web à l'aide de la section de configuration membership dans le fichier Web.config. Vous pouvez utiliser la sous-section providers de la section membership pour spécifier un fournisseur d'appartenances autre que l'un des fournisseurs par défaut. Par exemple, la section membership suivante supprime les fournisseurs d'appartenances par défaut de la configuration d'application actuelle et ajoute un nouveau fournisseur nommé SqlProvider qui se connecte à une instance SQL Server appelée MySqlServer.

<configuration>
  <connectionStrings>
    <add name="SqlServices" connectionString="Data Source=MySqlServer;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>
TopicLocation
Procédure pas à pas : création d'un site Web avec appartenance et connexion utilisateur (Visual Studio)Génération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : création d'un site Web avec appartenance et connexion utilisateurGénération d'applications à l'aide de Visual Web Developer

L'exemple de code suivant affiche la page de connexion d'une application ASP.NET configurée pour utiliser l'authentification par formulaire et l'appartenance d'ASP.NET. Si les informations d'identification de l'utilisateur fournies ne sont pas valides, l'utilisateur reçoit un message. Sinon, l'utilisateur est redirigé vers l'URL demandée initialement à l'aide de la méthode RedirectFromLoginPage.

Remarque :

Les contrôles de connexion ASP.NET (Login, LoginView, LoginStatus, LoginName et PasswordRecovery) encapsulent virtuellement toute la logique requise pour demander aux utilisateurs leurs informations d'identification et valider ces informations dans le système d'appartenance. Ils peuvent être utilisés à la place du contrôle par programme à l'aide de la classe Membership.

Note de sécurité :

Cet exemple comprend une zone de texte qui accepte les entrées d'utilisateur, ce qui constitue une menace potentielle pour la sécurité. 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>


System.Object
  System.Web.Security.Membership

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft