Procédure pas à pas : gestion des utilisateurs de site Web avec des rôles

Mise à jour : novembre 2007

Beaucoup d'applications ASP.NET impliquent l'appartenance — authentification des utilisateurs afin qu'ils aient accès à des ressources restreintes, telles que les pages réservées aux membres. Si l'application doit prendre en charge un grand nombre d'utilisateurs, ou s'il est probable que des changements dans la liste d'utilisateurs interviennent dans la durée, pensez à établir des rôles pour gérer l'accès des utilisateurs. Un rôle est le nom d'un groupe, tel que les gestionnaires, les vendeurs ou les membres. Après avoir établi des rôles, vous pouvez assigner des utilisateurs individuels à un rôle. Puis, vous pouvez accorder des autorisations à un rôle, et chaque utilisateur appartenant à ce rôle hérite des autorisations que vous avez assignées. Les rôles sont par conséquent une façon efficace de gérer des autorisations pour les groupes d'utilisateurs.

Au cours de cette procédure pas à pas, vous apprendrez à :

  • Établissez des rôles pour une application.

  • Assignez des utilisateurs aux rôles.

  • Créez des règles (autorisations) qui accordent ou refusent l'accès sélectivement aux pages assignées aux différentes règles.

  • Déterminez par programme si un utilisateur appartient à un rôle particulier et à quels rôles l'utilisateur actuel appartient.

Composants requis

Pour exécuter cette procédure pas à pas, vous avez besoin de :

  • Visual Studio.

  • .NET Framework

  • Installer IIS en local sur votre ordinateur ;

  • SQL Server Express installé en local sur votre ordinateur.

  • Identification des utilisateurs individuels.

    Remarque :

    Dans les applications actives, vous pouvez identifier des utilisateurs de plusieurs façons, y compris via leur compte d'utilisateur Windows. Toutefois, dans cette procédure pas à pas, les utilisateurs s'identifieront en se connectant à votre site. Par conséquent, cette procédure pas à pas suppose que vous avez un site configuré pour utiliser l'appartenance d'ASP.NET. Si vous avez déjà configuré un site avec l'appartenance, vous pouvez l'utiliser comme point de départ de cette procédure pas à pas.

Configuration d'un site Web, de l'appartenance et des rôles

Avant d'utiliser les rôles ASP.NET, vous devez disposer d'un site Web et le configurer de façon à activer l'appartenance et à définir des rôles d'utilisateurs. Si vous avez terminé la rubrique Procédure pas à pas : création d'un site Web avec appartenance et connexion utilisateur, vous pouvez utiliser le site Web que vous avez configuré dans cette procédure pas à pas.

Si vous n'avez pas encore de site Web disponible, utilisez la procédure suivante pour en créer un. Sinon, passez à la section suivante « Création de dossiers pour les pages réservées aux membres ».

Pour créer un site Web IIS local

  1. Ouvrez Visual Studio.

  2. Dans le menu Fichier, cliquez sur Nouveausite Web.

    La boîte de dialogue Nouveau site Web s'affiche.

  3. Sous Modèles Visual Studio installés, sélectionnez Site Web ASP.NET.

  4. Dans la zone de liste Emplacement, cliquez sur Système de fichiers.

  5. Cliquer sur Parcourir, puis sélectionnez un répertoire pour votre application, telle que C:\WebSiteRoles.

  6. Dans la zone Langage, cliquez sur le langage de programmation que vous préférez utiliser.

    Le langage de programmation que vous choisissez sera la valeur par défaut pour votre site Web, mais vous pouvez définir individuellement les langages de programmation pour chaque page.

  7. Cliquer sur OK dans la boîte de dialogue Nouveau site Web

    Visual Web Developer crée le site Web et une page nommée Default.aspx.

Création de dossiers pour les pages réservées aux membres

Pour utiliser les rôles, vous devrez créer deux dossiers, PagesMembres et PagesInvités, dans lesquels vous pouvez stocker des pages auxquelles l'accès est restreint.

Remarque :

Si vous réutilisez le site Web à partir de la procédure pas à pas sur l'appartenance, vous disposez probablement déjà de ce dossier et pouvez ignorer l'étape 1 de la procédure suivante.

Pour créer des dossiers à accès restreint

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur la racine de votre site Web, cliquez sur Nouveau dossier puis nommez le dossier PagesMembres.

    Ce dossier contiendra une page qui n'est accessible qu'à certains de vos utilisateurs.

  2. Cliquez avec le bouton droit sur la racine de votre site Web, cliquez sur Nouveau dossier, puis nommez le dossier PagesInvités.

    Ce dossier contiendra une page accessible à tout utilisateur connecté (mais pas aux utilisateurs anonymes).

Configuration de l'appartenance et des rôles du site Web

Après avoir créé le site Web de base, vous pouvez le configurer pour utiliser l'appartenance et les rôles.

Pour configurer l'appartenance et les rôles du site Web

  1. Dans le menu Site Web, choisissez Configuration ASP.NET.

  2. Sélectionnez l'onglet Sécurité, cliquez sur le lien vers Utilisez l'Assistant Installation de sécurité pour configurer la sécurité étape par étape, puis cliquez sur Suivant.

  3. Passez à l'étape 2 de l'Assistant et sélectionnez l'option À partir d'Internet.

    L'Assistant affiche une page dans laquelle vous pouvez sélectionner la méthode d'authentification que votre site Web utilisera.

    Cette option spécifie que votre application utilisera l'authentification par formulaire, dans laquelle les utilisateurs se connecteront à l'application à l'aide d'une page de connexion que vous créerez à une étape ultérieure de cette procédure.

  4. Cliquez sur Suivant.

    L'Assistant affiche un message qui déclare que les informations utilisateur seront stockées à l'aide de Paramètres avancés des fournisseurs. Votre application utilisera le fournisseur par défaut qui stocke des informations d'appartenance dans un fichier de base de données SQL Server Express, dans le dossier App_Data de votre site Web.

  5. Cliquez à nouveau sur Suivant.

  6. Dans Étape 4: Définissez les rôles, sélectionnez la case à cocher Activez des rôles pour ce site Web, puis cliquez sur Suivant.

  7. Lorsque vous êtes invités, créez deux rôles, membres et invités, puis cliquez sur Suivant.

  8. Dans l'étape 5 : Ajouter des utilisateurs, créez trois utilisateurs nommés membre1, invité1 et membreInvité.

    Vous pouvez assigner tout mot de passe fort, mais vous devez vous en souvenir. Les mots de passe doivent comporter un minimum de 7 caractères, dont au moins un non alphanumérique. Pour l'adresse de messagerie, utilisez la vôtre. (Vous n'enverrez pas de messages électroniques dans cette procédure pas à pas.)

    Remarque :

    Ne fermez pas encore l'outil Administration de site Web.

Le site Web que vous créez permettra aux utilisateurs d'accéder aux différentes pages selon leurs rôles. Par conséquent, vous devez créer quelques règles d'accès qui déterminent quels rôles ont accès à quels dossiers.

Pour configurer des règles d'accès pour les dossiers du site

  1. Dans l'Assistant de sécurité de l'outil Administration de site Web, cliquez sur Suivant.

    L'étape 6 : Ajouter des règles d'accès affiche une page sur laquelle vous pouvez créer des règles qui déterminent quels rôles (ou utilisateurs) peuvent accéder aux pages de votre site Web.

  2. Sous Sélectionnez un répertoire pour cette règle, développez le nœud racine, puis cliquez sur PagesInvités.

  3. Sous La règle s'applique à, sélectionnez Utilisateurs anonymes.

  4. Sous Autorisation, sélectionnez Refuser.

    La règle que vous créez refuse l'accès aux utilisateurs anonymes, c'est-à-dire les utilisateurs qui ne sont pas connectés.

  5. Cliquez sur Ajouter cette règle.

    La nouvelle règle est affichée dans la grille en bas de la page. Lorsque les utilisateurs demandent une page du répertoire PagesInvités, les règles sont vérifiées dans l'ordre, de haut en bas, pour déterminer si l'utilisateur est autorisé à accéder à la page. Si l'utilisateur n'est pas connecté, les pages contenues dans ce dossier ne seront pas affichées.

  6. Sous Sélectionnez un répertoire pour cette règle, cliquez sur PagesMembres.

  7. Sous La règle s'applique à,sélectionnez Rôle puis, dans la liste déroulante, cliquez sur membres.

  8. Sous Autorisation, sélectionnez Autoriser.

    La règle que vous créez autorise l'accès au dossier PagesMembres à tous les utilisateurs appartenant au rôle membres.

  9. Cliquez sur Ajouter cette règle.

  10. Sous Sélectionnez un répertoire pour cette règle, cliquez sur PagesMembres.

  11. Sous La règle s'applique à, sélectionnez Tous les utilisateurs.

  12. Sous Autorisation, sélectionnez Refuser.

  13. Cliquez sur Ajouter cette règle.

    La deuxième règle du dossier PagesMembres vérifie que seuls les utilisateurs dans le rôle membres ne peuvent accéder au dossier. Les règles sont traitées dans l'ordre, de haut en bas, lorsque vous les consultez dans la grille.

    La première règle (Autoriser) accorde l'accès aux utilisateurs dans le rôle membres. La deuxième règle (Refuser) refuse l'accès à tous les autres utilisateurs. Vous pouvez créer autant de règles Autoriser ou Refuser que nécessaire à votre application. Lorsque les utilisateurs demandent une page du répertoire PagesMembres, les règles sont appliquées dans l'ordre, de haut en bas, pour vérifier si l'utilisateur a le droit d'accéder à cette page.

  14. Cliquez sur Terminer pour revenir à l'onglet Sécurité.

    Remarque :

    Ne fermez pas encore l'outil Administration de site Web.

Assignation d'utilisateurs à des rôles

Vous devez exécuter une dernière étape de configuration : assigner des rôles aux utilisateurs que vous avez créés.

Pour assigner des rôles aux utilisateurs

  1. Dans l'onglet Sécurité de l'outil Administration de site Web, sous Utilisateurs, cliquez sur Gérer les utilisateurs.

  2. Dans la ligne invité1, cliquez sur Modifier les rôles.

    La zone Rôles contient une liste de rôles disponibles.

  3. Sélectionnez la case à cocher invités pour assigner le rôle invités à l'utilisateur invité1.

  4. Dans la ligne pour membre1, cliquez sur Modifier les rôles et assignez le rôle membres à l'utilisateur membre1.

  5. À l'aide de la même technique, assignez les rôles invités et membres à l'utilisateur membreInvité.

  6. Fermez l'outil Administration de site Web, puis procédez comme suit :

    1. Dans l'Explorateur de solutions, cliquez sur l'icône de rafraîchissement.

    2. Dans le menu Site Web, cliquez sur Configuration ASP.NET pour redémarrer l'outil Administration de site Web.

      Cela garantit que la connexion à la base de données d'appartenance qui a été utilisée par l'outil Administration de site Web est fermée.

    3. Fermez à nouveau l'outil Administration de site Web.

Ajout de pages à l'accès restreint

Pour tester votre appartenance et vos paramètres de rôle, vous devez créer un moyen pour que les utilisateurs puissent se connecter afin que vous puissiez les identifier. Vous devez également créer quelques pages Web qui vous permettront de tester les règles d'accès que vous avez créées.

Pour créer une page par défaut pour tous les utilisateurs

  1. Basculez vers Visual Studio.

  2. Ouvrez ou basculez vers la page Default.aspx, puis basculez en mode Design.

    Si vous n'avez pas de page Default.aspx, ajoutez-en une à la racine de votre site Web.

    Remarque :

    Nommez la page Default.aspx ; ce nom est utilisé dans une étape ultérieure de cette procédure pas à pas.

  3. Ajoutez un titre qui contient du texte, tel que Bienvenue !

  4. À partir du groupe Connexion de la Boîte à outils, faites glisser un contrôle LoginStatus sur la page.

    Une fois que vous avez cliqué sur le contrôle LoginStatus, il accepte des utilisateurs sur la page Login.aspx qui ne sont pas connectés.

  5. À partir du groupe Connexion de la Boîte à outils, faites glisser un contrôle LoginName sur la page. Attribuez à la propriété FormatString la valeur "Hello {0}.".

    Le contrôle LoginName affichera le nom de l'utilisateur, si l'utilisateur est connecté.

  6. À partir du groupe Standard de la Boîte à outils, faites glisser un contrôle HyperLink sur la page. Dans le panneau Propriétés du contrôle HyperLink, affectez Invités et membres à la propriété Text et ~/PagesInvités/Invités.aspx à la propriété href.

    Remarque :

    Vous créerez la page Invités.aspx dans une prochaine étape de cette procédure.

  7. À partir du groupe Standard de la Boîte à outils, faites glisser un autre contrôle HyperLink sur la page. Dans le panneau Propriétés du contrôle HyperLink, affectez Membres à la propriété Text et ~/PagesMembres/Membres.aspx à la propriété href.

    Remarque :

    Vous créerez la page Membres.aspx dans une prochaine étape de cette procédure.

Vous avez maintenant une page d'accueil qui est disponible à tous les utilisateurs. De cette page, les utilisateurs peuvent établir des liaisons aux pages supplémentaires, dont certaines seront restreintes. L'étape suivante consiste à créer une page de connexion simple.

Pour créer une page de connexion

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le dossier racine de votre site Web et sélectionnez Ajouter un nouvel élément. Ajoutez un Formulaire Web nommé Login.aspx à votre site Web.

  2. Dans la page Login.aspx, basculez en mode Design.

  3. À partir du groupe Connexion de la Boîte à outils, faites glisser un contrôle Login sur la page.

  4. Dans le panneau Propriétés du contrôle Login, affectez ~/Default.aspx à la propriété DestinationPageUrl.

Enfin, vous devez créer quelques pages qui représentent le contenu restreint de votre site.

Pour créer des pages restreintes

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le dossier PagesInvités, cliquez sur Ajouter un nouvel élément et ajoutez un Formulaire Web nommé Invités.aspx dans ce dossier.

  2. Basculez en mode Design et ajoutez un titre à la page Invités.aspx, tel que Bienvenue sur la page Invités !

  3. À partir du groupe Standard de la Boîte à outils, faites glisser un contrôle HyperLink sur la page. Dans le panneau Propriétés du contrôle HyperLink, affectez Accueil à la propriété Text et ~/Default.aspx à la propriété href.

  4. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le dossier PagesMembres, sélectionnez Ajouter un nouvel élément et ajoutez un Formulaire Web nommé Membres.aspx.

  5. Basculez en mode Design et ajoutez un titre à la page Membres.aspx, tel que Bienvenue sur la page Membres !

  6. À partir du groupe Standard de la Boîte à outils, faites glisser un contrôle HyperLink sur la page.

  7. Dans le panneau Propriétés du contrôle HyperLink, affectez Accueil à la propriété Text et ~/Default.aspx à la propriété href.

    Vous n'êtes pas obligé d'ajouter du code aux pages pour restreindre l'accès. Leur accès est restreint parce qu'elles résident dans des dossiers protégés par des règles d'accès.

Test de rôles

Votre site est maintenant prêt pour le test.

Pour tester des rôles

  1. Basculez sur la page Default.aspx, puis appuyez sur CTRL+F5 pour l'exécuter.

  2. Cliquez sur Invités et membres.

    Vous êtes redirigés sur la page Login.aspx parce que vous tentez d'accéder à une page qui n'autorise pas d'utilisateurs anonymes.

  3. Connectez-vous en tant que invité1 qui est dans le rôle invités.

    Une fois connecté, vous êtes redirigé à la page Invités.aspx.

    Cliquez sur Accueil pour retourner à la page Default.aspx.

    La page Default.aspx affiche le texte Hello, guest1 dans lequel vous placez le contrôle LoginName. De plus, le contrôle LoginStatus a modifié le texte Connexion en Déconnexion, parce que vous êtes connecté en tant que invité1.

  4. Cliquez sur Invités et membres.

    Cette fois ci, vous allez droit à la page Guests.aspx car vous êtes déjà connecté comme utilisateur dans le rôle invités.

  5. Cliquez sur Accueil pour retourner à la page Default.aspx.

  6. Cliquez sur Membres.

    Vous êtes redirigés sur la page Login.aspx parce que invité1 n'a pas l'autorisation d'accéder à la page Membres.aspx.

  7. Connectez-vous en tant que membre1 ou que membreInvité.

    Vous êtes redirigé sur la page Membres.aspx parce que vous êtes maintenant connecté en tant qu'utilisateur dans le rôle membres.

  8. Cliquez sur Accueil pour retourner à la page Default.aspx.

    La page reflète maintenant votre nouveau nom de connexion.

Étapes suivantes

Cette procédure pas à pas illustre les fonctionnalités de base de gestion des rôles ASP.NET. Vous pouvez essayer des fonctionnalités de gestion des rôles. Vous pouvez, par exemple, souhaiter effectuer les opérations suivantes :

Voir aussi

Tâches

Procédure pas à pas : création d'un site Web avec appartenance et connexion utilisateur

Procédure pas à pas : filtrage des nœuds sitemap en fonction des rôles de sécurité

Concepts

Présentation de la gestion des rôles

Référence

AuthorizationSection