1

我需要对受登录用户身份限制的特定实体的所有访问权限(他们只能根据复杂的规则查看某些实例)。在 oData $filter 中指定太难了(无论如何我都不想这样做)。我不想求助于存储库(我正在尝试为动态响应式 Web 应用程序提供功能最齐全、最灵活的数据接口)。我想在 Microsoft(或 Breeze)堆栈中的某个点拦截请求,以修改 oData 查询或 EntityFramework 查询以注入安全过滤。我知道如何轻松地为实体的直接请求做到这一点,但我希望它在间接请求时也能工作(通过相关实体的导航属性)。想法?

4

2 回答 2

0

如果您使用Entity Framework 6,您可以使用IDBCommandInterceptor接口在最低级别拦截所有数据库命令。

实体框架日志记录和拦截数据库操作(EF6 及以上)

于 2013-11-15T16:36:51.800 回答
0

作为实体导航加载结果的查询实际上只是针对每种类型的“defaultResourceName”的常规查询。因此,只要您关闭所有“默认”端点(听起来您已经在处理直接请求),就应该没问题。

于 2013-11-12T00:10:30.417 回答