2

trueに設定せずに、ASP.NET ライフサイクルによって静的コンテンツの要求を処理するためのより正確なソリューションを探していrunAllManagedModulesForAllRequestsます。私が知る限りrunAllManagedModulesForAllRequests = "true"、各モジュールの前提条件属性が に設定されるという効果があります""

問題:

  • Web アプリケーションのサブフォルダーにある静的コンテンツを不正アクセスから保護する必要がある
  • これらの静的コンテンツへの要求を ASP.NET ライフサイクルに含めて、いくつかのイベントを発生させるために、web.configで を設定runAllManagedModulesForAllRequestsしました。true
  • このソリューションは大きな車輪を回転させ、すべてのマネージ モジュールがアプリケーション全体に影響を与えるため、この動作が必要なサブフォルダーに限定された、より適切なソリューションを探しています。
  • IIS6 および II7 のソリューションが必要です

質問1:

静的コンテンツの要求に対してprecondition = ""global.asax.cs イベント (例: ) を起動するために、どのモジュールをリセット ( ) する必要があるかの前提条件は?Application_BeginRequest

質問2:

このリクエスト処理を単一のサブフォルダーへのリクエストに制限することは可能ですか (たとえば、適応した web.config をこのサブフォルダーに配置したり、メインの web.config を微調整したり...)

任意の提案をいただければ幸いです。ありがとう。

4

1 に答える 1

0

global.asax の適切なイベントにカスタム HttpModule を登録し、メイン自体locationの属性を使用してサブ ディレクトリに対してのみ HttpModule を有効にする方向を考えましたか? web.configそれは考えられる解決策の単なる考えです-私はそれを考えていません..

<location path="subDirectoryPath">
   <system.web>
     <httpmodules>
        <add type="MyCustomModule.Name" name="MyCustomModule" />      
     </httpmodules>
   </system.web>
</location>

編集:

web.config をオーバーライドし、これにすべての httpModule セクションを取り込み、適切な前提条件で適切な場所にカスタム モジュールを挿入する必要がある場合があります。runAllManagedModulesForAllRequestsこれは、 trueに設定することを避けるためです。

于 2013-09-25T09:22:16.000 に答える