Права на основе данных / авторизация в ASP.Net MVC 3 - PullRequest
2 голосов
/ 23 мая 2011

Мои навыки Google не позволяют мне в этом.Я ищу «правильный путь» для предоставления прав на основе данных в ASP.Net MVC (3).

С обычными правами, когда нужно просто знать пользователя, а маршрут можно сделать с помощью *Атрибут 1003 *, но, похоже, он не работает с правами на основе данных, необходимыми для подключения к хранилищу данных.

Является ли очевидным подходом вставки проверки в методы действияправильный путь?

Ответы [ 3 ]

1 голос
/ 23 мая 2011

Является ли очевидный подход вставки проверьте в методах действия правильный путь?

Вот что я делаю.

if (!userHasAuthorization)
   return view("Unauthorized");

Это, безусловно, самый простой способ.

Чтобы убедиться, что вам нужно выполнить «userHasAuthorization» только один раз, вы можете поместить метод в свой репозиторий или сервисный уровень, который проверяет авторизацию, и использовать его вместо логического значения userHasAuthorization.

0 голосов
/ 23 мая 2011

Вы можете создать фильтр пользовательских действий, полученный из атрибута [Authorize], который использует хранилище данных для проверки авторизации.

0 голосов
/ 23 мая 2011

Не зная, что такое «права на основе данных». Я верю, что фильтры с настроенными действиями получат то, что вы хотите Это позволяет вам управлять всем, что вам нужно для авторизации, с учетом контекста маршрута, пользователя и т. Д. Предоставляет более точный контроль. Также дает вам возможность повторного использования, поэтому вам не нужно подключать операторы if к вашим методам действий.

http://msdn.microsoft.com/en-us/library/dd381609.aspx

...