Пользовательская авторизация внутри REST Service + MVC 3 - PullRequest
1 голос
/ 03 февраля 2012

Мы внедрили архитектуру на основе REST для нашего приложения ASP.NET MVC3.Мы размышляем над архитектурным решением о реализации пользовательской авторизации для контрактов, которые мы предоставляем через наш сервис.

Например, любой действительный аутентифицированный пользователь может получить доступ к конкретному методу реализации контракта и может захотеть получить доступ к некоторымИнформация другого пользователя (получение списка элементов из данных через Stored Proc), после того как мы вернем этот список элементов, мы должны проверить, есть ли у этого аутентифицированного пользователя надлежащие разрешения для доступа к нему.Проверка разрешений основана на сложной бизнес-логике, поэтому авторизация на основе атрибутов может оказаться бесполезной в этом сценарии, поскольку только после получения данных мы можем принять решение о проверке разрешений на доступ.

Пожалуйста, посоветуйте, как реализовать эту защитумодель внутри нашего ОТДЫХА.

1 Ответ

1 голос
/ 03 февраля 2012

Поскольку аутентификация на основе атрибутов, по-видимому, не будет работать для вас, вам необходимо определить, соответствуют ли они нужной вам роли:


HttpContext.Current.User.IsInRole()

После этого ваш контроллер просто возвращает

HttpUnauthorizedResult
, который является ActionResult. Поэтому проверьте свою бизнес-логику, если они не авторизованы, а затем верните HttpUnauthorizedResult, и все готово.

http://msdn.microsoft.com/en-us/library/system.web.mvc.httpunauthorizedresult.httpunauthorizedresult(v=vs.98).aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...