Проблема: У меня есть набор сведений о том, что некоторым пользователям приходится обращаться к ним через мое веб-приложение. Предположим, что у меня есть ресурсы A, B, C того же типа T, а пользователи - X, Y, Z. В бизнесе указано, что пользователь может получить доступ к этим ресурсам, как в приведенной ниже таблице.Как предоставить доступ к определенным ресурсам?
пользователя -> Ресурсы
X -> A
Y -> AC
Z -> ABC
Реальный пример будет что-то вроде этого:
- Пользователь X может просмотреть все Гипермаркеты из LA
- Пользователь Y может видеть все гипермаркеты из LA и Chicago
- Пользователь Z может видеть все гипермаркеты из Л.А., Чикаго и штат Нью-Йорк
Другое дело упомянуть о том, что в любое время, чтобы пользователь X может быть предоставлен доступ, чтобы увидеть Гипермаркеты из Н.Ю. тоже.
Вопрос: Как реализовать систему авторизации, что позволяет мне предоставить доступ пользователя к определенному набору ресурсов?
Мои первые идеи: Поскольку я собираюсь использовать ASP.NET MVC и Web API, мои первые мысли были использовать ролевого Авторизация. После этого я нашел this article о том, как расширить концепцию авторизации на основе ролей до так называемой авторизации «Активность». Но даже это решение не подходит для моего бизнеса, потому что в моем коде у меня должна быть одна функция с именем GetAllHypermarkets
без параметров, которая вернет все гипермаркеты, которые разрешено видеть пользователю. Например, для пользователя X он вернет только гипермаркеты из L.A. Как я могу это достичь?