Наше приложение переносится из WebForms в MVC. У нас есть другой способ обработки разрешений. Запрос базы данных запрашивается для подтверждения авторизации пользователя. Это представление возвращает, согласно каждому пользователю, всю иерархию меню. Например, если пользователь1 пытается получить доступ к странице с именем SecretList.aspx, поиск применяется через иерархию меню (сохраняется в сеансе HTTP после авторизации), чтобы проверить авторизацию доступа. Если для этого пользователя существует элемент меню, связанный с SecretList.aspx, доступ предоставляется.Доступ к контроллеру MVC
Мой вопрос в том, как реализовать этот подход в ASP.NET MVC 3?
Я не хотел бы поставить атрибуты для каждого действия контроллера, и я читал о ограничений маршрута и Пользовательский контроллер.
Чтобы использовать ограничения маршрута, могу ли я получить доступ к сеансу HTTP и получить мою иерархию меню для запроса авторизации?
В пользовательский контроллер, какой метод следует учитывать при перегрузке? Могу ли я проверить авторизацию и перенаправить на другой вид, прежде чем контроллер выполнит полный код действия?
Любая другая лучшая идея?
Вы можете использовать стандартный поставщик ролей или настроить его? http://stackoverflow.com/questions/376655/asp-net-mvc-problem-setting-the-authorize-attribute-role-from-a-variable-requi – kenny
У меня нет доступа к данным о ролях в моем коде , Все роли и отношения пользователей находятся внутри представления базы данных. –
Так они находятся в поставщике членства SQL. – kenny