ASP.NET サイト ナビゲーション プロバイダ

更新 : 2007 年 11 月

ASP.NET サイトのナビゲーションは、既定では、Web サイトの階層構造を表す、Web.sitemap という名前の XML ファイルと連携しますが、サイトに関する情報は、データベース、または Web.sitemap ファイルとはレイアウトが異なるサイトマップ ファイルなど、別の方法で説明する必要がある場合もあります。

ASP.NET がサイト ナビゲーション プロバイダを使用する方法

ASP.NET メンバシップ、ASP.NET Web パーツのパーソナル化、およびその他の ASP.NET 機能と同様に、ASP.NET サイト ナビゲーションでは、プロバイダを利用してデータ ストアとやり取りします。既定のプロバイダは、Web.sitemap ファイルを読み取り、SiteMap オブジェクトをファイルから直接作成します。TreeView コントロール、SiteMapPath コントロール、カスタム コントロールなどのサイト ナビゲーション コントロールは SiteMap オブジェクトを使用してクライアントにナビゲーション構造を表示します。

サイトマップ ファイル以外の場所にサイトマップ情報を格納する場合は、独自のサイトマップ プロバイダを作成し、カスタム プロバイダを呼び出すようにアプリケーションを構成します。サイトマップ プロバイダは、Web.config ファイルで設定します。アプリケーションが実行されると、ASP.NET はプロバイダを起動し、必要に応じてサイトマップ情報を取得できます。次に ASP.NET は、プロバイダが返した情報を基に SiteMapNode オブジェクトを作成して設定します。これらのオブジェクトには SiteMap クラスを使用してプログラムからアクセスできます。詳細については、「ASP.NET サイトマップ プロバイダの実装」を参照してください。

4ht3k9tx.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

拡張子が .sitemap 以外のファイル名を持つファイルにサイトマップ データを格納するカスタム サイトマップ プロバイダを実装すると、セキュリティ上の問題が発生する可能性があります。既定では、ASP.NET は .sitemap などファイル名に既知の拡張子を持つファイルをクライアントによるダウンロードから保護するように設定されています。データを保護するために、.sitemap 以外の拡張子をファイル名に持つカスタム サイトマップ データ ファイルは App_Data フォルダに配置してください。詳細については、「ASP.NET のサイト ナビゲーションの保護」を参照してください。

参照

処理手順

方法 : 複数のサイト マップとサイトマップ プロバイダを設定する

概念

ASP.NET サイト ナビゲーションの概要

ASP.NET のサイト ナビゲーションの保護

データ アクセスのセキュリティ保護

その他の技術情報

ホストされた環境での ASP.NET アプリケーションのセキュリティ