2010-12-15 5 views
0

У меня есть таблица в моей базе данных SQL2008 для пользователей и одна для ролей, а затем таблица мостов UserRoles. Я нахожусь в точке, где у меня есть RoleProvider, чтобы работать, и я украсил некоторые из своих Actions с помощью [Authorize (Roles = «Administrator, Developer»)]MVC2 Авторизовать роли из SQL

Я фактически создаю навигацию на своем сайте для каждого пользователя, так что RoleProvider чтобы не допустить, чтобы пользователь более низкого уровня получал URL-адрес от своего приятеля-администратора и переходил на страницу, на которую он не должен.

Мы строим навигацию по сайту для каждой пользовательской базы и имеем сопоставление между пользователем, его ролью и страницами, на которых показана роль, в которой он находится. Я просто хочу знать, есть ли способ изменить [Authorize (Roles = "")], чтобы получить список ролей с разрешением на это действие динамически из моей базы данных? Таким образом, мне не нужно украшать все действия, которые у меня есть, их просто вытащит из БД, как по волшебству.

Простой пример будет оценен, спасибо. Jack

ответ

0

В основном я написал свой собственный класс CustomAuthorize, который наследуется от AuthorizeAttribute и в OnAuthorization я искал доступ для доступа. Если у пользователя нет доступа, я в основном делаю: filterContext.Result = new HttpUnauthorizedResult(); filterContext.Result = new RedirectResult ("/ accessDenied");

Работы, и я украшаю свои методы: [CustomAuthorize]

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