中信頼環境で現在のFormsAuthenticationModuleにフックするにはどうすればよいですか?
-
08-07-2019 - |
質問
次のコードでFormsAuthenticationModuleのAuthenticateイベントにフックするHttpModuleをアプリケーションに持っています:
public void Init(HttpApplication context)
{
FormsAuthenticationModule faModule =
(FormsAuthenticationModule)context.Modules["FormsAuthentication"];
faModule.Authenticate +=
new FormsAuthenticationEventHandler(faModule_Authenticate);
}
残念ながら、アプリは中信頼環境で実行する必要があるため、context.Modulesの呼び出しは失敗します。このイベントにフックできる別の方法はありますか?
解決
それは難しいものです。グローバルアプリケーションファイル内からモジュールコレクションにアクセスすることさえできません。
グローバルのAuthenticateRequestハンドラーからカスタムコードを呼び出すことができます:
protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
// Call your module's code here..
}
コレクションからカスタムモジュールを取得することもできないため、モジュールのライブラリへの静的参照が必要になります。
AspNetHostingPermissionの付与以外(他の権限の詳細はこちら)マシンレベルのweb.configのサイトに移動しましたが、アイデアがありません!
所属していません StackOverflow