Нужен совет и руководство по уровням доступа в Ролях.
У меня есть проект MVC, который использует AspNetRoles, например, у меня настроены следующие роли: Admin CustomerIndex CustomerCreate
В моем клиентском контроллере у меня есть:
[Authorize(Roles = "Admin, CustomerIndex")]
public ActionResult Index() ....
[Authorize(Roles = "Admin, CustomerCreate")]
public ActionResult Create() ...
Что я хочу сделать, так это ограничить то, что пользователь может видеть и делать, в зависимости от его/ее уровня доступа в рамках роли.
Допустим, у меня есть следующие клиенты: ABC, DEF, XYZ.
Я хочу предоставить разным пользователям доступ на чтение для разных клиентов, то есть: User1 иметь роль CustomerIndex, но только просматривать данные для ABC, DEF, а затем User2, чтобы иметь роль CustomerIndex, но только для клиента XYZ, а затем аналогично для роли CustomerCreate.
Таким образом, если User1
перейдет на страницу клиента, ему будут представлены данные клиента только для ABC, DEF. Если пользователь 2 сделает то же самое, он увидит данные только для клиента XYZ.
Каков наилучший способ добиться чего-то подобного?