Будет ли пользовательский RoleProvider работать с [Authorize] для метода действия в ASP.NET MVC? - PullRequest
1 голос
/ 20 февраля 2010

Я делаю пользовательские MembershipProvider и RoleProvider.

У меня есть таблицы базы данных с Roles и UsersInRoles, и я использую LINQ-to-SQL для создания объектов таблиц.

При вызове [Authorize] для метода действия будет ли он работать с моим пользовательским RoleProvider? Как он узнает, аутентифицирован ли пользователь и находится ли он в соответствующей роли?

1 Ответ

1 голос
/ 21 февраля 2010

Ответ - да. AuthorizeAttribute использует User.IsUserInRole () метод для внутреннего использования. Но вы должны установить ваш пользовательский поставщик по умолчанию.

Сценарий

Когда управление ролями включено, RoleManagerModule заменяет значение HttpContext.User новым экземпляром RolePrincipal . RolePrincipal также использует Roles.IsUserInRole для внутреннего использования.

...