MVC2 авторизовать роли из SQL - PullRequest
0 голосов
/ 16 декабря 2010

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

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

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

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

1 Ответ

0 голосов
/ 04 января 2011

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

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

...