У меня есть HTTPModule, который защищает доступ к страницам на основе ролей (мне нужно переопределить некоторую безопасность в некоторый код, который мы приобрели).Почему AcquireRequestState в моем HTTPModule не срабатывает _sometimes_?
Я заметил, что в одном случае он не срабатывает на сервере 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:
Я бы разместил дополнительную информацию о кодовой базе, но она настолько запутана и растягивается, что это будет кошмар, чтобы объяснить.
В основном я спрашиваю 'Что может привести к тому, что событие AcquireRequestState в HTTPModule не будет срабатывать при вызове Server.Transfer? '
Да, вы правы. Я только что проверил свое первоначальное доказательство места тестирования концепции, и я могу только предположить, что был пьян, когда делал начальные тесты. :( Нужно переосмыслить эту идею использования HTTPModule. – user129345