【发布时间】:2013-11-16 00:36:51
【问题描述】:
我需要对受登录用户身份限制的特定实体拥有所有访问权限(根据复杂的规则,他们只能查看某些实例)。在 oData $filter 中指定太难了(无论如何我都不想这样做)。我不想求助于存储库(我试图为动态响应式 Web 应用程序提供功能最齐全、最灵活的数据接口)。我想在 Microsoft(或 Breeze)堆栈中的某个点拦截请求,以修改 oData 查询或 EntityFramework 查询以注入安全过滤。我知道如何轻松地为实体的直接请求做到这一点,但我希望它在间接请求时也能工作(通过相关实体的导航属性)。想法?
【问题讨论】:
-
仅基于经过身份验证的用户进行安全保护。不要根据他们发布的数据来做。您可以发布任何您喜欢的数据。例如提琴手。因此,这意味着存储库模式/EF 层以及对选定记录的过滤器(在哪里限制)。
标签: entity-framework asp.net-web-api odata breeze