|
.NET TIPS [ASP.NET]構成ファイルの適用範囲を限定するには?山田 祥寛2004/03/26 |
![]() |
|
|
|
構成ファイルweb.configの設定は、デフォルトで配置されたフォルダとその配下のサブフォルダに対して適用される。しかし、項目によっては、それらのフォルダ全体ではなく、限定されたページにのみ設定を適用したいというケースも少なくない。
例えば、別稿「TIPS:[ASP.NET]構成ファイルのみでフォーム認証を実現するには?」で紹介したフォーム認証も、フォルダ全体に対してではなく、特定のページに対してのみ認証を有効にしたいというケースがあるだろう。また、アクセス可能なユーザーをページ単位に分岐したいというケースもあるだろう。そのような場合に、もちろん、対象ユーザーごとにフォルダを分割してもよいが、対象ユーザーが変更となった場合にファイル(URL)を変更しなければならないというのは、あまり理想的な状況ではない。
そこで登場するのが、<location>要素である。別稿「TIPS:[ASP.NET]構成ファイルのみでフォーム認証を実現するには?」で紹介した「/auth」フォルダ内のweb.configを以下のように書き換えてみてほしい。
|
|
| ページ単位の認証を設定するために<location>要素を追加した構成ファイル(web.config) |
以上の設定によって、ページsample01.aspxはユーザーyyamadaおよびnkakeyaに対してのみ、ページsample02.aspxはユーザーnkakeyaに対してのみ、それぞれアクセスを認めることになる。もしもこの2つのページにアクセス可能なユーザーnkakeyaでsample01.aspxに対してアクセスしたとしたら、sample02.aspxにアクセスする際に再度認証を求められる。また、「/auth」フォルダ内にこの2つ以外のページが存在したとしても、そのページでのフォーム認証は有効にはならない。
もちろん、<location>要素の設定が有効であるのは、このような認証の局面だけではない。例えば、ファイル・アップロードの機能を提供するページupload.aspxがあったとする。このページに限定して、POSTデータの容量と実行タイムアウト時間の制限を緩和したいという場合にも、<location>要素を使って以下のように記述することで実現できる。
|
|
| POSTデータの容量と実行タイムアウト時間の制限を緩和するために<location>要素を追加した構成ファイル(web.config) |
もっとも、<location>要素を多用することは、構成ファイル自体の保守性を低下させる原因ともなり得るので、極力、フォルダ単位での設定を心掛けるようにするのが望ましいだろう。しかし、特に制限を「緩める」ような設定については、必要最小限の範囲に限定するのが好ましいのも事実だ。保守性とアプリケーション全体への影響などをてんびんにかけつつ、うまく利用していただきたい。![]()
| カテゴリ:Webフォーム 処理対象:構成ファイル 使用キーワード:<location>要素 関連TIPS:[ASP.NET]構成ファイルのみでフォーム認証を実現するには? |
| 「.NET TIPS」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -


