nHibernateのIPreUpdateListenerを使用して監査レポートをログに記録するASP.NETアプリがあります。リスナーイベントで現在のユーザーを設定するために、System.Security.Principal.WindowsIdentity.GetCurrent()を使用していました。これは、マシンでデバッグする場合は正常に機能しますが、ステージングサーバーに移動すると、要求元のユーザーではなく、ASP.NETプロセスの資格情報を取得します。
ASP.NETページでは、Request.LogonUserIdentity(統合認証を使用しているため正常に機能します)を使用できますが、イベントに直接渡すことなく、このユーザーを直接参照するにはどうすればよいですか?この情報は実際には中間のイベント/呼び出しに属していないため、パイプラインを介してこの情報を渡す必要はありません。