Ограничить доступ к данным, загруженным из службы WCF в зависимости от пользователя
Я ищу лучшее решение для следующего сценария. До сих пор я не смог найти решение.
У меня есть приложение ASP.net, которое предоставляет менеджерам разных отделов возможность входа и отображения разных данных в зависимости от их отдела. Менеджер также может иметь права на просмотр других отделов или на просмотр всех отделов. Какие отделы они могут и не могут просмотреть, хранятся в таблице базы данных. Во время кодирования отделы и их количество неизвестны, так как администратор может добавлять и удалять отделы.
Доступ к данным для приложения ASP.net осуществляется через службу базы данных WCF. К ним относятся такие контракты, как, GetSales(), GetDepartments, GetSale(int ID) и т. Д.
Итак, как лучше всего разрешить менеджеру использовать GetSales () или аналогичный контракт, но отфильтровать результаты так, чтобы пользователь получал Продажу только в тех отделах, на которые у него есть права?
Я использую настраиваемую роль и поставщика членства, поэтому рассмотрел возможность использования этого в качестве опции для отправки имени пользователя для входа в службу WCF, а затем с помощью базы данных отфильтровывать результаты на основе n таблиц соединений. Однако я уверен, что есть лучшее вариант для этого.
Любой совет приветствуется.