Partager via


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

Mise à jour : novembre 2007

Une configuration requise commune pour les sites Web consiste à restreindre l'accès à certaines pages. La combinaison de la gestion des rôles ASP.NET et de l'autorisation d'URL ASP.NET permet de limiter l'accès aux fichiers Web en fonction des rôles de sécurité. Les plans de sites complètent l'histoire en utilisant une fonctionnalité appelée ajustement de la sécurité pour masquer les liens de navigation vers ces fichiers à accès réservé, également selon rôles.

Rôle est le nom d'un groupe d'utilisateurs. Après avoir établi des rôles, vous pouvez assigner des comptes d'utilisateur individuels à un rôle. Vous pouvez restreindre l'accès aux fichiers Web et aux nœuds dans les plans de sites en fonction des rôles.

Au cours de cette procédure pas à pas, vous allez apprendre à effectuer les tâches suivantes :

  • créer un site Web avec l'appartenance et la connexion utilisateur ;

  • établir des rôles pour le site Web et assigner des comptes d'utilisateurs à ces rôles ;

  • créer les règles de l'autorisation d'URL qui accordent ou refusent sélectivement l'accès aux pages ;

  • créer un plan de site et activer l'ajustement de la sécurité ;

  • créer un menu de navigation sur une page Web.

Composants requis

Pour effectuer cette procédure pas à pas, vous aurez besoin des éléments suivants :

  • Microsoft Visual Web Developer.

  • .NET Framework.

  • Services IIS (Internet Information Services) installés localement sur votre ordinateur.

  • Cette procédure pas à pas requiert également une façon d'identifier des comptes d'utilisateur individuels. 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 requiert un site configuré pour utiliser l'appartenance d'ASP.NET et l'authentification par formulaires. 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.

Créer un site Web avec l'appartenance et la connexion utilisateur

Avant d'utiliser l'appartenance et les rôles d'ASP.NET, vous devez avoir un site Web disponible, puis vous devez configurer ce site Web pour activer l'appartenance et configurer des rôles. Si vous avez déjà terminé 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.

Création d'un site Web

Si vous avez déjà créé un site Web dans Visual Web Developer (par exemple, en effectuant Procédure pas à pas : création d'une page Web de base dans Visual Web Developer), vous pouvez utiliser ce site Web et passer à la section suivante. Sinon, créez un site et une page Web en suivant ces étapes.

Pour créer un site Web IIS local

  1. Ouvrez Visual Web Developer.

  2. Dans le menu Fichier, cliquez sur Nouveau site Web.

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

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

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

  5. Dans la liste déroulante Emplacement, cliquez sur HTTP.

    Vous pouvez également sélectionner Système de fichiers si vous n'avez pas de serveur IIS disponible. Toutefois, HTTP permet de reproduire un scénario de déploiement réel et de tester vos pages en les consultant dans un navigateur.

  6. Cliquez sur Parcourir.

    La boîte de dialogue Choisir un emplacement s'affiche. Si vous avez sélectionné HTTP dans l'étape précédente, le bouton Serveur IIS local doit être sélectionné. Dans le cas contraire, cliquez sur Serveur IIS local.

  7. Sélectionnez le nœud Site Web par défaut.

  8. Cliquez sur l'icône Créer une application Web (en haut à droite), puis nommez le nouveau site Web SiteNavigation.

  9. Cliquez sur Ouvrir, puis sur OK.

    Visual WebDeveloper crée le site Web et ouvre une nouvelle de page nommée Default.aspx. Par défaut, Visual Web Developer crée des pages et un fichier code-behind correspondant - Default.aspx.cs, dans ce cas. Vous pouvez modifier cela lorsque vous créez d'autres pages à l'aide de l'Assistant Ajouter un nouvel élément.

    Remarque :

    Quelquefois, si une version antérieure du .NET Framework a été installée avant Visual Web Developer, vous pouvez obtenir une erreur à propos de la configuration du site Web pour utiliser la version la plus récente du .NET Framework. Vous pouvez corriger cette erreur en cliquant sur Oui dans la boîte de dialogue qui s'affiche pour activer la version 2.0 d'ASP.NET sur votre serveur ou en utilisant le Gestionnaire des services IIS. Dans le Gestionnaire des services IIS, cliquez avec le bouton droit sur votre application, cliquez sur Propriétés puis sur l'onglet ASP.NET. En regard de Version ASP.NET, sélectionnez la version du .NET Framework qui a été installée avec Visual Web Developer.

Activation de l'appartenance et création d'un utilisateur

Si aucune appartenance n'est activée, utilisez la procédure suivante pour l'activer : Sinon, passez à la section suivante.

Pour activer l'appartenance

  1. Dans Visual Web Developer, dans le menu Site Web, cliquez sur Configuration ASP.NET.

    L'outil Administration de site Web apparaît.

  2. Cliquez sur l'onglet Sécurité, sous Utilisateurs, cliquez sur Sélectionnez le type d'authentification, sur À partir d'Internet, puis sur Terminé.

    Cette option spécifie que votre application utilisera l'authentification par formulaires, 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.

  3. Sous l'onglet Sécurité, cliquez sur Créer un utilisateur.

    Vous êtes en train de créer deux comptes d'utilisateurs pour votre application.

  4. Dans la zone Créer un utilisateur, entrez les informations qui définissent un utilisateur de votre application. Utilisez les valeurs suivantes en suivant les instructions. Vous pouvez utiliser toutes les valeurs que vous souhaitez, mais assurez-vous de noter les entrées que vous devrez utiliser plus tard dans cette procédure pas à pas.

    • **Nom d'utilisateur   **Utilisez le nom, Customer01, qui est le nom de notre premier compte d'utilisateur.

    • **Mot de passe   **Utilisez un mot de passe de votre choix, de préférence un mot de passe fort, c'est-à-dire qui contient un minimum de huit caractères et inclut des lettres majuscules et minuscules ainsi que de la ponctuation.

    • **Adresse de messagerie   **Utilisez une adresse de messagerie correctement mise en forme. Vous pouvez également utiliser une adresse de messagerie inexistante parce que cette procédure pas à pas n'inclut pas l'envoi de courrier électronique.

    • **Question de sécurité et Réponse de sécurité   **Tapez une question et une réponse à la question qui puissent être utilisées ultérieurement si vous avez besoin de récupérer votre mot de passe.

  5. Activez la case à cocher Utilisateur actif, puis cliquez sur Créer un utilisateur.

  6. Dans la page de confirmation, cliquez sur Continuer.

  7. Répétez les trois étapes précédentes pour créer un compte d'utilisateur supplémentaire nommé Employee01. (Lorsque vous créez des rôles pour ces comptes d'utilisateurs, vous utiliserez des noms écrits en minuscules.)

  8. Cliquez sur le bouton Précédent en bas à droite de la page pour revenir à la page de démarrage Sécurité.

Création d'une page de connexion d'utilisateur

Pour tester l'appartenance et les paramètres de rôle que vous configurerez dans une étape ultérieure de cette procédure, vous devez créer une manière d'identifier les utilisateurs lorsqu'ils se connectent.

Pour créer une page par défaut pour tous les utilisateurs qui affiche l'état de connexion

  1. Ouvrez la page Default.aspx et 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.

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

    Le contrôle LoginStatus emmène automatiquement des utilisateurs à la page Login.aspx, si ceux-ci ne sont pas connectés.

  3. Placez le curseur à droite du contrôle LoginStatus, appuyez sur Entrée, puis entrez les éléments suivants, y compris l'espace supplémentaire : Hello.

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

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

  5. Enregistrez la page et fermez-la.

Vous avez maintenant une page d'accueil qui est disponible à tous les utilisateurs. L'étape suivante consiste à créer une page de connexion simple.

Pour créer une page de connexion

  1. Ajoutez une page nommée Login.aspx à la racine de votre site Web.

  2. Ouvrez la page Login.aspx et basculez en mode Design.

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

  4. Cliquez avec le bouton droit sur le contrôle Login, cliquez sur Propriétés, puis affectez Default.aspx à DestinationPageUrl.

  5. Enregistrez la page et fermez-la.

Établir des rôles pour le site Web et assigner des utilisateurs à ces rôles

Avant d'utiliser l'ajustement de la sécurité, vous devez configurer des rôles d'utilisateur.

Activation de rôles

Afin que l'ajustement de la sécurité fonctionne, les rôles doivent être activés.

Pour activer des rôles

  1. Dans Visual Web Developer, dans le menu Site Web, cliquez sur Configuration ASP.NET.

    L'outil Administration de site Web apparaît.

  2. Sous l'onglet Sécurité, cliquez sur Activer les rôles.

Création de rôles et assignation de comptes d'utilisateur à ces rôles

Les rôles sont maintenant activés, mais tant que vous n'avez pas créé de rôle ni assigné de comptes d'utilisateurs à ces rôles, vous ne pouvez pas créer de règles d'accès.

Pour créer des rôles et assigner des comptes d'utilisateurs

  1. Si l'outil Administration de site Web n'est pas ouvert, suivez ces étapes : dans Visual Web Developer, dans le menu Site Web, cliquez sur Configuration ASP.NET.

    L'outil Administration de site Web apparaît.

  2. Sous l'onglet Sécurité, cliquez sur Créer ou gérer des rôles.

    Vous allez créer deux rôles.

  3. Dans la zone Créer un nouveau rôle, tapez customers, puis cliquez sur Ajouter le rôle.

  4. Répétez l'étape précédente pour créer un rôle nommé employees.

  5. Dans la zone Nom du rôle, en regard de customers, cliquez sur Gérer.

    Vous atteignez une page dans laquelle vous pouvez sélectionner des comptes d'utilisateurs dans une liste à ajouter au rôle customers.

  6. Dans la zone Rechercher des utilisateurs, cliquez sur Tous.

    S'affichent alors tous les comptes d'utilisateurs de votre site Web. Vous pouvez également rechercher par la première lettre du nom de l'utilisateur si votre liste est trop longue.

  7. En regard du nom d'utilisateur Customer01, sélectionnez la zone dans la colonne L'utilisateur est dans le rôle.

    L'utilisateur Customer01 est maintenant membre du rôle customers.

  8. Cliquez sur Précédent pour retourner à la page Créer un nouveau rôle.

  9. Répétez les deux étapes précédentes pour ajouter l'utilisateur Employee01 au rôle employees.

  10. Fermez la page d'administration de l'application ASP.NET.

Créer des règles qui accordent ou refusent sélectivement l'accès aux pages

Pour tester l'ajustement de la sécurité, vous devez créer quelques dossiers et pages pour votre site Web, puis définir des autorisations de sécurité sur ces dossiers et ces pages.

Création de dossiers et de pages nécessaires à cette procédure pas à pas

Votre site Web contiendra une structure de plan de site liée à certaines pages que vous pouvez créer maintenant.

Pour créer les dossiers et les pages nécessaires

  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 EmployeesOnly.

    Le dossier EmployeesOnly contiendra une page accessible uniquement à quelques-uns de vos utilisateurs.

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

    Le dossier Customers contiendra également une page accessible uniquement à quelques-uns de vos utilisateurs.

  3. Dans le dossier EmployeesOnly, créez une page nommée Discounts.aspx.

  4. Dans le dossier Customers, créez une page nommée Support.aspx.

  5. À la racine de votre site Web, créez quatre pages nommées Hardware.aspx, Software.aspx, Training.aspx et Consulting.aspx.

  6. Dans chacune des nouvelles pages, passez en mode Design, tapez le titre de la page en haut de la page, puis mettez en forme le titre comme <H1> afin de pouvoir identifier la page lorsque vous naviguez vers elle.

  7. Enregistrez les nouvelles pages puis fermez-les.

Création de règles d'accès

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 le dossier EmployeesOnly

  1. Dans Visual Web Developer, dans le menu Site Web, cliquez sur Configuration ASP.NET.

    L'outil Administration de site Web apparaît.

  2. Sur l'onglet Sécurité, cliquez sur Gérer les règles d'accès, puis cliquez sur Ajoutez de nouvelles règles d'accès. Vous accédez ainsi à la page Ajouter une nouvelle règle d'accès.

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

  4. Sous La règle s'applique à, cliquez sur Rôle, puis dans la zone, cliquez sur employees.

  5. Sous Autorisation, sélectionnez Autoriser.

    La règle que vous avez créée accorde des autorisations d'accès pour le dossier EmployeesOnly à tous les utilisateurs qui ont le rôle employees.

  6. Cliquez sur OK.

    La nouvelle règle est affichée dans une grille dans le tableau Gérer les règles d'accès. Lorsque les utilisateurs demandent une page du dossier EmployeesOnly, 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 ne fait pas partie du rôle employees, les pages de ce dossier ne seront pas affichées.

  7. Cliquez sur le lien Ajouter une nouvelle règle d'accès.

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

  9. Sous Autorisation, sélectionnez Refuser, puis cliquez sur OK.

    La deuxième règle pour le dossier EmployeesOnly fait en sorte que personne sauf les utilisateurs dans le rôle employees ne puisse 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 employees. 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 dossier EmployeesOnly, 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.

L'étape suivante répète la procédure précédente pour le dossier Customers. Toutefois, les rôles customers et employees peuvent être utilisés pour accéder au dossier Customers. Comme exemple de scénario réel, considérez une société qui souhaite que les employés de l'assistance téléphonique aient accès aux mêmes pages que les clients.

Pour configurer des règles d'accès pour le dossier Customers

  1. Cliquez sur le lien Ajouter une nouvelle règle d'accès.

  2. Sous La règle s'applique à, sélectionnez la zone Rôle, puis dans la zone, cliquez sur customers.

  3. Sous Autorisation, sélectionnez Autoriser, puis cliquez sur OK.

    La règle que vous avez créée accorde des autorisations d'accès pour le dossier Customers à tous les utilisateurs qui ont le rôle customers.

  4. Sous Gérer les règles d'accès, cliquez sur Customers.

  5. Cliquez sur le lien Ajouter une nouvelle règle d'accès.

  6. Sous La règle s'applique à, sélectionnez la zone Rôle, puis dans la zone, cliquez sur employees.

  7. Sous Autorisation, sélectionnez Autoriser, puis cliquez sur OK.

    La règle que vous avez créée accorde également des autorisations d'accès pour le dossier Customers à tous les utilisateurs qui ont le rôle employees.

  8. Sous Gérer les règles d'accès, cliquez sur Customers.

  9. Cliquez sur le lien Ajouter une nouvelle règle d'accès.

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

  11. Sous Autorisation, sélectionnez la zone Refuser, puis cliquez sur OK.

    La première et la seconde règles du dossier Customers font en sorte que personne excepté les utilisateurs disposant d'un compte dans le rôle customers ou employees ne puisse accéder au dossier Customers. 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 disposant d'un compte dans le rôle members. 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 dossier Customers, 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.

  12. Cliquez sur Terminé pour revenir à l'onglet Sécurité.

Créer un plan de site et activer l'ajustement de la sécurité

Dans cette partie de la procédure pas à pas, vous créerez un plan de site pour décrire la structure de navigation de votre site Web, puis activer l'ajustement de la sécurité des nœuds sitemap en modifiant le fichier Web.config.

Création d'un plan de site

Pour utiliser la navigation de site, vous avez besoin de décrire la disposition des pages de votre site. La méthode par défaut consiste à créer un fichier XML qui contient la hiérarchie du site, y compris les titres de page et les URL.

Chaque page est représentée comme un élément siteMapNode dans le plan de site. Le nœud supérieur représente la page d'accueil, et les nœuds enfants représentent des pages qui sont plus profondes dans le site.

Pour créer un plan de site

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nom de votre site Web, puis cliquez sur Ajouter un nouvel élément.

  2. Dans la boîte de dialogue Ajouter un nouvel élément :

    1. Sous Modèles Visual Studio installés, cliquez sur Plan de site.

    2. Assurez-vous que le nom inscrit dans la zone Nom est Web.sitemap.

      Remarque :

      Le fichier doit être nommé Web.sitemap et doit apparaître à la racine de votre site Web.

    3. Cliquez sur Ajouter.

  3. Copiez le contenu XML suivant dans le fichier Web.sitemap, en remplaçant le contenu par défaut du fichier XML.

    <?xml version="1.0" encoding="utf-8" ?>
    <siteMap>
      <siteMapNode title="Home" description="Home" 
           url="~/default.aspx" >
        <siteMapNode title="Products" 
             description="Our products" 
             roles="*">
          <siteMapNode title="Hardware" 
               description="Hardware we offer" 
               url="~/Hardware.aspx" />
          <siteMapNode title="Software" 
               description="Software for sale" 
               url="~/Software.aspx" />
          <siteMapNode title="Discounts" 
               description="Employee Discounts" 
               url="~/EmployeesOnly/Discounts.aspx" />
        </siteMapNode>
        <siteMapNode title="Services" 
             description="Services we offer" 
             roles="*">
          <siteMapNode title="Training" 
               description="Training" 
               url="~/Training.aspx" />
          <siteMapNode title="Consulting" 
               description="Consulting" 
               url="~/Consulting.aspx" />
          <siteMapNode title="Support" 
               description="Support" 
               url="~/Customers/Support.aspx" />
        </siteMapNode>
      </siteMapNode>
    </siteMap>
    

    Le fichier Web.sitemap contient un jeu d'éléments siteMapNode qui sont imbriqués sur trois niveaux. La structure de chaque élément est la même ; la seule différence est leur emplacement dans la hiérarchie XML.

    Les URL des pages définies dans le fichier XML d'exemple ne sont pas qualifiées, ce qui signifie que toutes les pages seront traitées comme ayant des URL relatives à la racine de l'application. Toutefois, vous pouvez spécifier une URL pour une page donnée, la structure logique que vous définissez dans le plan de site ne doit pas correspondre à la disposition physique des pages dans les dossiers.

    L'attribut roles est défini uniquement sur deux nœuds dans le plan de site : Products et Services. Ces deux nœuds n'ont pas d'attribut url. ASP.NET utilise les règles d'accès d'une page .aspx pour vérifier si le nœud sitemap doit être visible par un utilisateur. Sans attribut url, aucun utilisateur ne peut consulter la page si l'ajustement de la sécurité est activé. L'affectation d'un astérisque (*) ou d'un caractère générique à l'attribut roles étend l'accès à tous les utilisateurs.

  4. Enregistrez le fichier et fermez-le.

Activation de la fonction de suppression de la sécurité

Le plan de site que vous avez créé utilise le fournisseur sitemap par défaut, XmlSiteMapProvider. Pour cette raison, le fichier Web.config n'a pas besoin de contenir d'élément siteMap, élément (Schéma des paramètres ASP.NET), car ASP.NET dispose d'une configuration intrinsèque pour les plans de sites par défaut. Toutefois, l'ajustement de la sécurité n'est pas activé par défaut, donc l'élément siteMap, élément (Schéma des paramètres ASP.NET) doit être défini.

Pour activer l'ajustement de la sécurité

  1. Dans Visual Web Developer, cliquez avec le bouton droit sur la racine de votre site Web, puis cliquez sur Actualiser le dossier.

    Le fichier Web.config apparaît ainsi dans l'Explorateur de solutions. Vous pouvez créer le fichier Web.config en sélectionnant Ajouter un nouvel élément ou en utilisant l'outil Configuration ASP.NET comme nous l'avons fait précédemment dans cette procédure pas à pas.

  2. Ouvrez le fichier Web.config.

  3. Recherchez un élément siteMap, élément (Schéma des paramètres ASP.NET) au cas où il existerait déjà.

    Si l'élément siteMap, élément (Schéma des paramètres ASP.NET) n'existe pas, collez le code suivant à l'intérieur de l'élément system.web, élément (Schéma des paramètres ASP.NET), en veillant à ne pas le coller à l'intérieur d'un autre élément.

    <siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
      <providers>
        <add name="XmlSiteMapProvider"
          description="Default SiteMap provider."
          type="System.Web.XmlSiteMapProvider"
          siteMapFile="Web.sitemap"
          securityTrimmingEnabled="true" />
      </providers>
    </siteMap>
    
  4. Enregistrez le fichier Web.config et fermez-le.

La fonction de suppression de la sécurité utilise l'autorisation d'URL sur chaque demande pour déterminer si un utilisateur a accès à une URL associée à un élément siteMapNode. Ce travail supplémentaire réduit les performances en fonction du nombre de nœuds autorisés. Lorsque la fonction de suppression de la sécurité est activée, vous pouvez utiliser les méthodes suivantes pour améliorer les performances :

  • Limiter le nombre de nœuds dans les fichiers sitemap   Dans les fichiers sitemap contenant plus de 150 nœuds, les opérations de suppression de la sécurité peuvent être beaucoup plus longues.

  • Définir l'attribut roles explicitement sur les éléments siteMapNode   Notez que l'affectation d'un astérisque (*) à l'attribut roles doit être utilisée pour les nœuds qui peuvent être affichés sans risque à tout client. La présence d'un attribut roles permet à ASP.NET de contourner l'autorisation d'URL de l'URL associée à l'attribut siteMapNode lorsqu'un utilisateur appartient à l'un des rôles répertoriés dans cet attribut.

Créer un menu de navigation sur une page

Maintenant que vous avez un plan de site et quelques pages, vous pouvez ajouter la navigation à votre site.

Vous pouvez également utiliser un contrôle SiteMapPath ou Menu pour afficher la navigation de site. Pour plus d'informations, consultez Contrôles ASP.NET de navigation ou Procédure pas à pas : ajout de la navigation de site à un site Web.

Création d'un menu de navigation à l'aide du contrôle TreeView

Vous utiliserez le contrôle TreeView pour agir comme un menu de navigation réductible.

Pour ajouter un menu de navigation

  1. Ouvrez la page Default.aspx et basculez en mode Design.

  2. Dans la Boîte à outils, à partir du groupe Données, faites glisser un contrôle SiteMapDataSource sur la page.

    Dans sa configuration par défaut, le contrôle SiteMapDataSource obtient ses informations à partir du fichier Web.sitemap que vous avez créé précédemment, donc vous n'avez pas besoin de spécifier d'informations supplémentaires pour le contrôle.

  3. Dans la Boîte à outils, à partir du groupe Navigation, faites glisser un contrôle TreeView sur la page.

    Le menu Tâches TreeView s'affiche.

  4. Dans le menu Tâches TreeView, dans la zone Choisir la source de données, cliquez sur SiteMapDataSource1.

  5. Enregistrez la page.

Création d'un menu de navigation à l'aide du contrôle SiteMapPath

Vous utiliserez le contrôle SiteMapPath pour agir comme un affichage de navigation de style fil d'Ariane (breadcrumb) qui indique aux utilisateurs le chemin d'accès pour retourner à la page racine.

Pour ajouter un menu de navigation

  1. Ouvrez la page Hardware.aspx et basculez en mode Design.

    Pour illustrer comment le contrôle SiteMapPath fonctionne, placez le contrôle sur une page profondément imbriquée.

  2. Si vous avez ajouté un titre à l'intérieur des balises <H1> de cette page, placez votre curseur sur la droite et appuyez sur Entrée.

  3. Dans la Boîte à outils, à partir du groupe Navigation, faites glisser un contrôle SiteMapPath sur la page.

    Le menu Tâches SiteMapPath s'affiche, mais vous n'avez pas besoin de configurer de source de données.

  4. Enregistrez la page.

Test de l'ajustement de la sécurité

Votre site est maintenant prêt pour le test.

Pour tester l'ajustement de la sécurité

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

    Dans le contrôle TreeView, vous ne devez pas voir les liens Discounts ni Support.

  2. Cliquez sur Connexion.

  3. Connectez-vous sous Customer01, qui est un compte d'utilisateur du rôle customers.

    Dans le contrôle TreeView, vous devez maintenant voir le lien Support.

  4. Cliquez sur Déconnexion, puis cliquez sur Connexion.

  5. Connectez-vous sous Employee01, qui est un compte d'utilisateur du rôle employees.

    Dans le contrôle TreeView, vous devez maintenant voir à la fois le lien Discounts et le lien Support. Comme un employé, vous devez voir tous les liens disponibles parce que les employés ont accès à tous les liens.

  6. Sur la page Default.aspx, cliquez sur Hardware afin de pouvoir voir le contrôle SiteMapPath.

    Le contrôle SiteMapPath doit afficher le chemin d'accès à partir de la page d'accueil vers la page Hardware.

Dans l'état actuel du site Web, l'arborescence de navigation apparaît uniquement sur la page d'accueil. Vous pourriez ajouter les mêmes contrôles SiteMapDataSource et TreeView à chaque page de l'application pour afficher un menu de navigation dans chacune d'elle. Vous pourriez également placer l'arborescence de navigation sur une page maître afin qu'elle apparaisse automatiquement avec chaque page référencée par le fichier page maître.

Étapes suivantes

Cette procédure pas à pas illustre les fonctionnalités de base de navigation de site ASP.NET : contrôles de navigation, gestion des rôles et ajustement de la sécurité. Vous pouvez essayer des fonctionnalités de navigation supplémentaires. Par exemple, vous êtes susceptible de vouloir placer vos contrôles de navigation dans une page maître pour les afficher sur toutes les pages qui font référence à la page maître. Pour plus d'informations, consultez Procédure pas à pas : création et utilisation de pages maîtres ASP.NET dans Visual Web Developer.

Voir aussi

Tâches

Procédure pas à pas : ajout de la navigation de site à un site Web

Concepts

Vue d'ensemble de la navigation de site ASP.NET

Suppression de la sécurité sitemap ASP.NET

Sécurisation de la navigation de site ASP.NET

Sécurisation de l'accès aux données

Création de vos propres autorisations d'accès du code

Autres ressources

Sécurité des applications ASP.NET dans les environnements hébergés