Думаю, я должен был подумать об этом первым, но до меня не дошло, пока я не увидел ответ от @Carl Raymond, что я могу просто взломать его в отражателе. Итак, чтобы ответить на мой собственный вопрос
public void Init(HttpApplication app)
{
if (!_fAuthChecked)
{
_fAuthRequired = AuthenticationConfig.Mode == AuthenticationMode.Forms;
_fAuthChecked = true;
}
if (_fAuthRequired)
{
FormsAuthentication.Initialize();
app.AuthenticateRequest += new EventHandler(this.OnEnter);
app.EndRequest += new EventHandler(this.OnLeave);
}
}
OnEnter
вызывает закрытый метод OnAuthenticate
, который проходит в контексте приложения, и именно здесь он проверяет / записывает заявки Auth формы.
В OnExit
он проверяет ответ для кода ошибки статуса Http 401 и, если он его находит, именно тогда он перенаправляет на URL-адрес входа.