Plans de sites ASP.NET

Mise à jour : novembre 2007

Pour utiliser la navigation de site ASP.NET, vous devez décrire la structure du site afin que l'API et les contrôles de la navigation de site puissent afficher correctement la structure du site. Par défaut, le système de la navigation de site utilise un fichier XML contenant la hiérarchie du site. Toutefois, vous pouvez également configurer le système de la navigation de site pour utiliser d'autres sources de données. Pour plus d'informations, consultez Fournisseurs de navigation de site ASP.NET.

Fichier Web.sitemap

La manière la plus simple de créer un plan de site consiste à créer un fichier XML nommé Web.sitemap qui organise les pages du site de manière hiérarchique. Ce plan de site est automatiquement sélectionné par le fournisseur sitemap par défaut ASP.NET.

Le fichier Web.sitemap doit se trouver dans le répertoire racine de l'application, bien qu'il puisse référencer d'autres fournisseurs ou fichiers sitemap dans d'autres répertoires tant que ces fichiers figurent dans la même application. Pour plus d'informations, consultez Comment : configurer plusieurs plans de sites et fournisseurs sitemap.

Note de sécurité :

L'implémentation d'un fournisseur sitemap personnalisé qui stocke des données sitemap dans un fichier dont l'extension n'est pas .sitemap représente un risque potentiel au niveau de la sécurité. Par défaut, ASP.NET est configuré pour empêcher les clients de télécharger les fichiers avec des extensions de nom de fichier connues telles que .sitemap. Pour aider à la protection de vos données, placez tous les fichiers de données sitemap personnalisés dont l'extension n'est pas .sitemap dans le dossier App_Data. Pour plus d'informations, consultez Sécurisation de la navigation de site ASP.NET.

L'exemple de code suivant décrit comment le plan de site peut rechercher un site simple comportant trois niveaux. L'attribut url peut démarrer avec le raccourci "~/" qui indique la racine de l'application. Pour plus d'informations, consultez Chemins d'accès aux sites Web ASP.NET.

<siteMap>
  <siteMapNode title="Home" description="Home" url="~/default.aspx">
    <siteMapNode title="Products" description="Our products"
      url="~/Products.aspx">
      <siteMapNode title="Hardware" description="Hardware choices"
        url="~/Hardware.aspx" />
      <siteMapNode title="Software" description="Software choices"
        url="~/Software.aspx" />
    </siteMapNode>
    <siteMapNode title="Services" description="Services we offer"
        url="~/Services.aspx">
        <siteMapNode title="Training" description="Training classes"
          url="~/Training.aspx" />
        <siteMapNode title="Consulting" description="Consulting services" 
          url="~/Consulting.aspx" />
        <siteMapNode title="Support" description="Supports plans" 
          url="~/Support.aspx" />
    </siteMapNode>
  </siteMapNode>
</siteMap>

Dans le fichier Web.sitemap, ajoutez un élément siteMapNode pour chaque page de votre site Web. Vous pouvez ensuite créer la hiérarchie en imbriquant les éléments siteMapNode. Dans l'exemple précédent, les pages correspondant à Hardware et Software constituent des éléments enfants de l'élément siteMapNode de Products. L'attribut title définit le texte généralement utilisé en tant que texte de lien, tandis que l'attribut description agit à la fois en tant que documentation et info-bulle du contrôle SiteMapPath.

Remarque :

Dans un plan de site, vous pouvez référencer des URL qui se trouvent en dehors de votre application Web. L'accès à une URL en dehors de l'application ne peut pas être testé par ASP.NET. Par conséquent, si vous activez la fonction de suppression de la sécurité, le nœud sitemap ne sera pas visible tant que vous n'affectez pas le caractère "*" à l'attribut des rôles, ce qui permet à tous les clients d'afficher le nœud sitemap sans passer au préalable par le test de l'URL. Pour plus d'informations, consultez Suppression de la sécurité sitemap ASP.NET.

Plans de sites valides

Un fichier sitemap valide contient uniquement un élément siteMapNode situé immédiatement sous l'élément siteMap. Mais l'élément siteMapNode de premier niveau peut contenir un nombre indéterminé d'éléments siteMapNode enfants. En outre, un fichier sitemap valide ne doit pas avoir d'URL en double, bien que les attributs url puissent être vides. Les fournisseurs autres que le fournisseur sitemap par défaut ASP.NET peuvent ne pas comporter cette limitation.

Configuration de plusieurs plans de sites

Vous pouvez utiliser plusieurs fichiers ou fournisseurs sitemap pour décrire la structure de navigation de tout un site Web. Par exemple, vous pouvez lier votre fichier Web.sitemap racine à un fichier sitemap enfant en référençant celui-ci dans un élément siteMapNode à l'aide du code suivant.

<siteMapNode siteMapFile="MySiteMap.sitemap"/>

Pour plus d'informations, consultez Comment : configurer plusieurs plans de sites et fournisseurs sitemap.

Recherche de plans de sites

Vous pouvez rechercher les propriétés de plan de site suivantes.

Pour rechercher la propriété Url ou définir des structures de navigation différentes en fonction des paramètres régionaux d'un utilisateur, vous devez définir des fichiers sitemap différents pour tous les paramètres régionaux et basculer par programme à la propriété Provider adéquate au moment de l'exécution. Pour plus d'informations, consultez Comment : modifier par programme des nœuds sitemap dans la mémoire. Pour plus d'informations sur la recherche de plans de sites, consultez Comment : localiser les données sitemap.

Voir aussi

Tâches

Comment : modifier par programme des nœuds sitemap dans la mémoire

Comment : configurer plusieurs plans de sites et fournisseurs sitemap

Comment : localiser les données sitemap

Concepts

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

Fournisseurs de navigation de site ASP.NET

Sécurisation de la navigation de site ASP.NET

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

Autres ressources

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