Q 1. Насколько я понимаю, FormsAuthenticationModule
подписывается на AuthenticateRequest
событие, и, таким образом, только после этого события вызывается FormsAuthenticationModule
. Но следующие цитаты меня немного смутили:
-
Событие
AuthenticateRequest
сигнализирует, что настроенный механизм аутентификации аутентифицировал текущий запрос.- Не указано ли выше, что при событии
AuthenticateRequest
запрос (как пользователь) уже прошел проверку подлинности?
- Не указано ли выше, что при событии
-
Подписка на событие
AuthenticateRequest
гарантирует, что запрос будет аутентифицирован до обработки подключенного модуля или обработчика событий.- Насколько я понимаю эту цитату, если мы подписываемся на
AuthenticatedRequest
, тогда наш обработчик событий будет вызываться доFormsAuthenticationModule
? Таким образом,Application_AuthenticateRequest()
будет вызываться до вызоваFormsAuthenticationModule
?
- Насколько я понимаю эту цитату, если мы подписываемся на
Q 2. Изучите книгу Im из предложения, что в Application_AuthenticateRequest()
мы можем проверить, является ли пользователь членом определенной роли, а если нет, мы можем добавить пользователя автоматически:
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
if (User.Identity.IsAuthenticated && Roles.Enabled)
{
//here we can subscribe user to a role via Roles.AddUserToRole()
}
}
Судя по указанному выше коду, Application_AuthenticateRequest()
вызывается после вызова FormsAuthenticationModule
, но где-то еще в той же книге подразумевается, что Application_AuthenticateRequest()
вызывается до FormsAuthenticationModule
:
Application_AuthenticateRequest
вызывается непосредственно перед выполнением проверки подлинности. Это точка перехода для создания собственной логики аутентификации.
Что мне не хватает?
Thanx