Introduction à l'appartenance (membership)
Mise à jour : novembre 2007
L'appartenance d'ASP.NET intègre la possibilité de valider et de stocker des informations d'identification utilisateur. Par conséquent, elle vous permet de gérer l'authentification utilisateur dans vos sites Web. Vous pouvez utiliser l'appartenance d'ASP.NET avec l'authentification par formulaires ASP.NET ou avec les contrôles d'ouverture de session ASP.NET pour créer un système complet d'authentification des utilisateurs.
L'appartenance d'ASP.NET prend en charge les opérations suivantes :
création d'utilisateurs et de mots de passe ;
stockage d'informations d'appartenance (noms d'utilisateurs, mots de passe et données de prise en charge) dans Microsoft SQL Server, Active Directory ou dans un autre magasin de données ;
authentification des utilisateurs qui visitent votre site. Vous pouvez authentifier les utilisateurs par programme, ou utiliser les contrôles d'ouverture de session ASP.NET pour créer un système d'authentification complet avec ou sans code ;
gestion des mots de passe, notamment leur création, leur modification ou leur réinitialisation. En fonction des options d'appartenance que vous sélectionnez, le système d'appartenance (membership) peut également fournir un système de réinitialisation de mots de passe automatisé qui accepte des questions et réponses fournies par l'utilisateur ;
affichage d'une identification unique des utilisateurs authentifiés que vous pouvez utiliser dans vos propres applications et qui s'intègre également dans les systèmes de personnalisation et de gestion (autorisation) des rôles ASP.NET ;
spécification d'un fournisseur d'appartenances personnalisé qui vous permet de remplacer votre code personnel pour gérer l'appartenance et conserver ses données dans un magasin de données personnalisé.
Appartenance, rôles et profil utilisateur
Bien que l'appartenance 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 profil utilisateur pour fournir une personnalisation spécifique à l'application pouvant être adaptée aux utilisateurs individuels. Pour plus d'informations, consultez Gestion de l'autorisation à l'aide de rôles et Vue d'ensemble des propriétés du profil ASP.NET.
Mode de fonctionnement de l'appartenance
Pour utiliser l'appartenance, vous devez le configurer au préalable pour votre site. En bref, vous devez suivre les étapes ci-dessous :
spécifier les options d'appartenance dans le cadre de la configuration de votre site Web ; L'appartenance est sélectionnée par défaut. Vous pouvez également spécifier le fournisseur d'appartenances que vous souhaitez utiliser. En pratique, cela signifie que vous spécifiez le type de base de données dans laquelle vous souhaitez conserver les informations d'appartenance. Le fournisseur par défaut utilise une base de données Microsoft SQL Server. Vous pouvez également utiliser Active Directory pour stocker des informations d'appartenance, ou encore spécifier un fournisseur personnalisé. Pour plus d'informations sur les options de configuration de l'appartenance pouvant être spécifiées dans le fichier Web.config de votre application ASP.NET, consultez Configuration d'une application ASP.NET pour utiliser l'appartenance (membership) ;
configurer votre application pour qu'elle utilise l'authentification par formulaires (différente de l'authentification Windows ou Passport). D'une manière générale, vous spécifiez que certaines pages ou dossiers de votre application sont protégés et sont accessibles uniquement aux utilisateurs authentifiés ;
définir des comptes d'utilisateurs pour l'appartenance. Vous pouvez le faire via différentes méthodes. Vous pouvez utiliser l'outil Administration de site Web qui fournit une interface Assistant pour la création d'utilisateurs. Vous pouvez également créer une page Web ASP.NET « nouvel utilisateur » dans laquelle vous recueillez un nom d'utilisateur et un mot de passe (et éventuellement une adresse électronique), puis utiliser une fonction d'appartenance nommée CreateUser pour créer un utilisateur dans le système d'appartenance.
Vous pouvez à présent utiliser l'appartenance pour authentifier des utilisateurs dans votre application. Le plus souvent, vous fournissez un formulaire d'ouverture de session qui peut être une page distincte ou une zone spéciale de votre page d'accueil. Vous pouvez créer manuellement le formulaire d'ouverture de session à l'aide des contrôles TextBox ASP.NET ou des contrôles d'ouverture de session ASP.NET. Étant donné que vous avez configuré l'application pour qu'elle utilise l'authentification par formulaires, ASP.NET affiche automatiquement la page d'ouverture de session si un utilisateur non authentifié demande une page protégée.
Remarque : |
---|
Les contrôles d'ouverture de session ASP.NET (Login, LoginView, LoginStatus, LoginName et PasswordRecovery) encapsulent virtuellement toute la logique requise pour inviter les utilisateurs à entrer leurs informations d'identification et valident ces dernières dans le système d'appartenance. |
Les contrôles d'ouverture de session utilisent automatiquement le système d'appartenance pour valider un utilisateur. Si vous avez créé un formulaire d'ouverture de session manuellement, vous pouvez inviter l'utilisateur à entrer un nom d'utilisateur et un mot de passe, puis appeler la méthode ValidateUser pour exécuter la validation. Une fois l'utilisateur validé, les informations le concernant peuvent être rendues persistantes (par exemple, avec un cookie chiffré si le navigateur de l'utilisateur accepte les cookies) à l'aide de l'authentification par formulaires. Les contrôles d'ouverture de session exécutent automatiquement cette tâche. Si vous avez créé un formulaire d'ouverture de session manuellement, vous pouvez appeler les méthodes de la classe FormsAuthentication pour créer le cookie et l'écrire dans l'ordinateur de l'utilisateur. Si un utilisateur a oublié son mot de passe, la page d'ouverture de session peut appeler les fonctions d'appartenance qui l'aident à se rappeler le mot de passe ou d'en créer un.
Chaque fois que l'utilisateur demande une autre page protégée, l'authentification par formulaires ASP.NET vérifie que l'utilisateur est authentifié et l'autorise à consulter la page ou le redirige à la page d'ouverture de session. Par défaut, le cookie d'authentification reste valide pour la session de l'utilisateur.
Une fois l'utilisateur authentifié, le système d'appartenance affiche un objet qui contient des informations relatives à l'utilisateur actuel. Par exemple, vous pouvez obtenir les propriétés de l'objet utilisateur d'appartenance pour déterminer le nom et l'adresse électronique, la date de la dernière ouverture de session de l'utilisateur, etc.
Vous n'avez jamais besoin d'exécuter explicitement des fonctions de base de données de bas niveau pour obtenir ou définir des informations utilisateur, ce qui est un aspect important du système d'appartenance. Par exemple, vous créez un utilisateur en appelant la méthode CreateUser d'appartenance. Le système d'appartenance gère les détails de la création des enregistrements de base de données nécessaires pour stocker les informations utilisateur. Lorsque vous appelez la méthode ValidateUser pour vérifier les informations d'identification d'un utilisateur, le système d'appartenance parcourt toute la base de données.
Configuration et gestion de l'appartenance
Configurez le système d'appartenance dans le fichier Web.config de votre application. La manière la plus facile de configurer et de gérer l'appartenance est d'utiliser l'outil Administration de site Web qui fournit une interface Assistant. Dans le cadre de la configuration de l'appartenance, vous devez spécifier :
le fournisseur d'appartenances à utiliser. (En général, cela permet également de spécifier la base de données dans laquelle stocker les informations d'appartenance) ;
les options de mot de passe telles que le chiffrement et la prise en charge, ou non, de la récupération du mot de passe basée sur une question spécifique à l'utilisateur ;
les utilisateurs et les mots de passe. Si vous utilisez l'outil Administration de site Web, vous pouvez créer et gérer directement les utilisateurs. Sinon, vous devez appeler les fonctions d'appartenance pour créer et gérer les utilisateurs par programme.
Voir aussi
Concepts
Sécurisation de l'appartenance (membership)