ASP.NET-Siteübersichten

Aktualisiert: November 2007

Bei Verwendung der ASP.NET-Sitenavigation müssen Sie die Struktur der Site so beschreiben, dass die Sitenavigations-API und die Sitenavigationssteuerelemente die Sitestruktur angemessen verfügbar machen können. Standardmäßig verwendet das Sitenavigationssystem eine XML-Datei, die die Sitehierarchie enthält. Sie können für das Sitenavigationssystem jedoch auch andere Datenquellen festlegen. Weitere Informationen finden Sie unter Übersicht über ASP.NET-Sitenavigationsanbieter.

Die Datei Web.sitemap

Am einfachsten erstellen Sie eine Siteübersicht, indem Sie eine XML-Datei mit dem Namen Web.sitemap erstellen, in der die Seiten der Site hierarchisch geordnet sind. Diese Siteübersicht wird vom Standard-Siteübersichtsanbieter für ASP.NET automatisch verwendet.

Die Datei Web.sitemap muss im Stammverzeichnis der Anwendung liegen, kann aber auf andere Siteübersichtsanbieter oder andere Siteübersichtsdateien in anderen Ordnern verweisen, sofern sich diese Dateien in derselben Anwendung befinden. Weitere Informationen hierzu finden Sie unter Gewusst wie: Konfigurieren mehrerer Siteübersichten und Siteübersichtsanbieter.

Sicherheitshinweis:

Die Implementierung eines benutzerdefinierten Siteübersichtsanbieters, der die Siteübersichtsdateien in einer Datei ohne die Dateinamenerweiterung .sitemap speichert, stellt ein Sicherheitsrisiko dar. ASP.NET ist standardmäßig für den Schutz von Dateien mit bekannten Dateinamenerweiterungen konfiguriert, wie zum Beispiel .sitemap. Solche Dateien können von Clients nicht gedownloadet werden. Legen Sie Siteübersichtsdateien mit anderen Dateinamenerweiterungen als .sitemap im Ordner App_Data ab, um diese Daten zu schützen. Weitere Informationen finden Sie unter Sichern der ASP.NET-Sitenavigation.

Das folgende Codebeispiel zeigt, wie die Siteübersicht für eine einfache Site mit drei Ebenen aussehen könnte. Das url-Attribut kann mit der Tastenkombination "~/" beginnen, die den Stammordner der Anwendung angibt. Weitere Informationen finden Sie unter ASP.NET-Websitepfade.

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

Fügen Sie der Datei Web.sitemap für jede Seite der Website ein siteMapNode-Element hinzu. Anschließend können Sie die Hierarchie erstellen, indem Sie die siteMapNode-Elemente ineinander schachteln. In obigem Beispiel sind die Seiten für Hardware und Software untergeordnete Elemente des siteMapNode-Elements Products. Das title-Attribut definiert den Text, der normalerweise als Linktext verwendet wird. Das description-Attribut dient als Dokumentation und als QuickInfo für das SiteMapPath-Steuerelement.

Hinweis:

In einer Siteübersicht können Sie auf URLs verweisen, die sich außerhalb der Webanwendung befinden. Der Zugriff auf einen URL außerhalb der Anwendung kann von ASP.NET nicht überprüft werden. Wenn Sie die so genannte Einschränkung der Siteübersicht aus Sicherheitsgründen aktivieren, ist der Siteübersichtsknoten daher nur bei einem auf "*" festgelegten Rollenattribut sichtbar. Der Siteübersichtsknoten ist dann für alle Clients sichtbar, ohne dass sie zuerst den Zugriff auf den URL überprüfen müssen. Weitere Informationen hierzu finden Sie unter Einschränken der ASP.NET-Siteübersicht aus Sicherheitsgründen.

Gültige Siteübersichten

Eine gültige Siteübersicht enthält nur ein siteMapNode-Element, das sich unmittelbar unterhalb des siteMap-Elements befindet. Das siteMapNode-Element der ersten Ebene kann aber eine beliebige Anzahl von untergeordneten siteMapNode-Elementen enthalten. Eine gültige Siteübersichtsdatei darf ferner keine doppelten URLs enthalten. Leere url-Attribute sind jedoch erlaubt. Diese Beschränkung gilt für den Standard-Siteübersichtsanbieter für ASP.NET. Andere Anbieter haben die Beschränkung möglicherweise nicht.

Konfigurieren mehrerer Siteübersichten

Sie haben die Möglichkeit, mehr als eine Siteübersichtsdatei oder mehr als einen Siteübersichtsanbieter zu verwenden, um die Navigationsstruktur der gesamten Website zu beschreiben. Beispielsweise kann die Stammdatei Web.sitemap eine Verknüpfung zu einer untergeordneten Siteübersichtsdatei herstellen, indem sie in einem siteMapNode-Element durch folgenden Code auf die untergeordnete Siteübersichtsdatei verweist.

<siteMapNode siteMapFile="MySiteMap.sitemap"/>

Weitere Informationen hierzu finden Sie unter Gewusst wie: Konfigurieren mehrerer Siteübersichten und Siteübersichtsanbieter.

Lokalisieren von Siteübersichten

Sie können folgende Eigenschaften in einer Siteübersicht lokalisieren.

Um die Url-Eigenschaft zu lokalisieren oder um Navigationsstrukturen dem Gebietsschema des Benutzers anzupassen, müssen Sie für jedes Gebietsschema eine eigene Siteübersichtsdatei definieren und dann zur Laufzeit programmgesteuert zur entsprechenden Provider-Eigenschaft wechseln. Weitere Informationen hierzu finden Sie unter Gewusst wie: Programmgesteuertes Ändern von Siteübersichtsknoten im Arbeitsspeicher. Weitere Informationen über das Lokalisieren von Siteübersichten finden Sie unter Gewusst wie: Lokalisieren von Siteübersichtsdaten.

Siehe auch

Aufgaben

Gewusst wie: Programmgesteuertes Ändern von Siteübersichtsknoten im Arbeitsspeicher

Gewusst wie: Konfigurieren mehrerer Siteübersichten und Siteübersichtsanbieter

Gewusst wie: Lokalisieren von Siteübersichtsdaten

Konzepte

Übersicht über die ASP.NET-Sitenavigation

Übersicht über ASP.NET-Sitenavigationsanbieter

Sichern der ASP.NET-Sitenavigation

Sichern des Datenzugriffs

Weitere Ressourcen

ASP.NET-Anwendungssicherheit in Hostumgebungen