В AspNet Core Identity не предусмотрены способы обеспечения доступа к конкретным данным, например к конкретному хранилищу, что означает, что вы должны реализовать это самостоятельно.Однако вы можете описать предполагаемый доступ в моделях идентификации:
Стандартные модели ASP.NET Core Identity содержат модель заявки , в которой вы можете определить свои собственные типы заявки, например роль и магазин .Затем вы можете связать эти утверждения со своими пользователями:
User 1 Claims:
"role": "buyer"
"store": "1"
"store": "2"
"store": "3"
User 2 Claims:
"role": "salesman"
"store": "3"
"store": "4"
(Это упрощено, но может быть достаточно для вас. Одно ограничение в этой конкретной модели состоит в том, что пользователь может быть назначен в магазин только дляВСЕ его роли. Если пользователь является покупателем для магазина 1, а продавец для магазина 2, вы сталкиваетесь с неоднозначностью того, к каким данным он имеет доступ. Если это требование, то вам придется указать роль для магазина в другом типе заявки)
Это не обеспечивает доступа к данным.Вам нужно придумать свои собственные фильтры при выполнении любых запросов к вашим постоянным данным, будь то в SQL, Mongo, Redis или где-либо еще.