3


Определяет ли FormsAuthenticationModule, ...?

FormsAuthenticationModule используется для отслеживания пользователей и роли информации с помощью зашифрованных куков.

Но делает этот модуль также содержит код, который определяет, имеет ли пользователь, запрашивающий веб-страницу билет проверки подлинности форм и если нет, то перенаправляет пользователя на страницу входа, или это на самом деле UrlAuthorizationModule что говорит FormsAuthenticationModule перенаправлять несанкционированным/неаутентифицированное пользователя на страницу входа?


Thanx

+1

Формы Аутентификация абсолютно ничего не знает о ролях. Я хочу использовать роли с помощью Forms Authentication, тогда вы должны сами научить ее о ролях. –

ответ

4

Как ни странно, я только что исследовал эту неделю.

Оказывается, что FormsAuthenticationModule действительно выполняет перенаправление в обработчике событий EndRequest. Однако он не решает, что перенаправление должно произойти. Он перенаправляет, если код состояния ответа 401 (неавторизованный).

UrlAuthorizationModule это место, где принимается решение (как уже упоминалось в другом ответе), но все это делает показывают, что запрос не авторизован код статуса ответа на 401.

Так что, на самом деле два координационных модуля, которые делают перенаправление на страницу входа в систему.

+0

Достаточно честно :) Действительно, список на Koders, по-видимому, указывает на то, что перенаправление на 401 происходит в модуле аутентификации (http://bit.ly/s7eiX). –

+0

Я заметил это в источнике Mono для FormsAuthenticationModule и задался вопросом, почему он дождался EndRequest. Это имеет смысл. Благодарю. –

3

Согласно документации, то FormsAuthenticationModule только

Задает идентификатор пользователя для приложения ASP.NET, когда проверка подлинности форм включена.

Однако, озираясь в другом месте (реквизита в Erv указывают на это) модуль проверки подлинности форм затем отвечает за перенаправление пользователя на страницу входа в систему, зацепив в EndRequest событие приложения

Это означает, что он имеет ничего не делать с ролями - роли обрабатываются RoleManagerModule

Так UrlAuthorizationModule использует модуль аутентификации (то есть формы, Passport/живые, Windows и т.д.) и поставщик ролей (с помощью которого модуль Роль является pproitable), которые настроены в веб-конфигурации для обеспечения доступа, и если CheckUrlAccessForPrinciple, который фактически проверяет права доступа пользователей, возвращает false, возникает ошибка 401, и это возвращается к ASP.NET для обработки.

Приложение затем вызывает событие EndRequest, которое подхватывается модулем FormsAuthenticationModule, который, наконец, перенаправляет пользователя на страницу входа по умолчанию, определенную в разделе auth autos в файле web.config.

+0

Благодарю всех вас за помощь в приветствии – SourceC

 Смежные вопросы

  • Нет связанных вопросов^_^