我有一个.NET Web API,允许客户返回人员和相关数据的详细信息。 系统中有许多非固定角色(它是多租户的),每个角色都可以访问特定的字段,例如管理员可以看到出生日期,非管理员不能。
该应用程序的结构是:
客户端控制器>业务/服务层>存储库>数据库
目前正在通过组合EntityFramework for Add / Update / Delete和Dapper for Queries来管理数据访问。
我的问题是:在现场级别过滤数据到客户端,并在更新数据库中的模型之前从客户端返回是否存在例外标准/通用方法?理想情况下,如果有一些示例代码或应用程序来演示该方法。
我对此的初步想法是在将ViewModel发送到客户端并在更新EntityFramework模型之前执行检查之前对其进行过滤,但这似乎是脱节的。此外,我对这种方式的最佳方法并非百分之百。
我考虑的其他可能性是:
我不了解任何提供现场级安全性的框架,但许多商业产品提供了非常可配置的现场级安全性,例如: SalesForce,Microsoft CRM等。基本上我想实现类似但规模较小的东西。