ロールベースのページアクセスセキュリティを実行するHTTPModuleがあります(取得したコードにセキュリティを後付けする必要があります)。
ある例では、Server.Transferで起動しないことに気づきました。
コードの抜粋は次のとおりです。
' move to target page
Select Case eTransferMethod
Case TargetPageTransferMethod.Redirect
Page.Response.Redirect(strPage, False)
Case TargetPageTransferMethod.Transfer
Context.Handler = Me
Page.Server.Transfer(strPage)
Case TargetPageTransferMethod.None
' Do nothing
End Select
ここで話しているのは、TargetPageTransferMethod.Transferの場合です。ページは.aspxページになります。
これで、AcquireRequestStateが他のServer.Transfer呼び出しでこのコードで起動されることがわかりました。実際、転送先のページのボタンがクリックされると、ポストバックで発生します。皮肉なことに、このページへの転送ではセキュリティコードがバイパスされますが、このページのキャンセルボタンがクリックされると、ポストバックへのアクセスが拒否されます。:eek:
コードベースの詳細を投稿しますが、非常に複雑で広大であるため、説明するのは悪夢です。
だから基本的に私は尋ねています' Server.Transferが呼び出されたときにHTTPModuleのAcquireRequestStateイベントが発生しない原因は何ですか?'