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