Umbraco CMS バージョン 7 を使用する Web サイトで作業しています。Web サイトに CSP ヘッダーを実装するために NWebSec を使用しています。NWebSec には、CSP 違反が発生したときに .Net イベントを発生させる機能が組み込まれています。通常、次のような方法でそのイベントをキャッチします。
protected void NWebSecHttpHeaderSecurityModule_CspViolationReported(object sender, CspViolationReportEventArgs e)
{
var report = e.ViolationReport;
var serializedReport = JsonConvert.SerializeObject(report.Details);
// Do a thing with the report
}
Global.asax.cs ファイル内。しかし、私が知る限り、Umbraco は Global.asax.cs ファイルを先取りし、スローされたすべてのイベントを食べます。次のようないくつかのカスタム イベント ハンドラを含むファイルがあります。
public void OnApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
通常は Global.asax.cs ファイルにある標準的なアプリケーション スタートアップ コードを処理しますが、同じファイルに NWebSec イベント ハンドラーを配置しても機能しません。おそらく、Umbraco が置き換えたものではなく、.Net イベント ハンドラー構文を使用しているためです。
NWebSec によってスローされたイベントにアクセスするにはどうすればよいですか?