c# - 限制对特定关系的访问 OData .NET WebAPI

标签 c# asp.net security asp.net-web-api odata

如何限制对 WebAPI OData 中数据的访问?

假设我有一个包含视频的 Youtube channel 。有些视频是私有(private)的,有些仅限于特定用户,有些是公开的。 如何才能确保只有允许的用户才能获取数据?

尤其是当人们想要限制对导航属性等的访问时。

我可能误解了 OData 的一些基本原理。

基本上,我正在寻找一些行之有效的模式来限制特定角色和用户对特定数据的访问,并对数据进行序列化。

最佳答案

处理此问题的常用方法是使用 Query Interceptor .当您从服务中的特定实体集请求数据时,WCF 数据服务将看到为该特定实体集定义了一个查询拦截器。您的拦截器是一个表达式,执行该表达式以过滤掉和/或限制返回的实体集中的值。

还有Change Interceptors也可以触发修改操作。

希望这对您有所帮助。

关于c# - 限制对特定关系的访问 OData .NET WebAPI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21350701/

相关文章:

asp.net - 导航样式 - 仅选择子 li

c++ - 如何为我的进程更新 PROC_THREAD_ATTRIBUTE_LIST?

c# - 在 C# 中查找行元素之间的差异

c# - 使用 Linq 从另一个表中获取按记录数排序的列表

c# - 非均匀分布数据的均匀分布点标记

c# - 如何检测我的 .NET 程序集是从网站运行还是从桌面计算机运行?

c# - 使用 DI 时无法解析服务

c# - 如何在 C# 中获取 HTTP Post 数据?

c# - LDAP 查询中的 LDAP 注入(inject) c#

javascript - 未剥离 AngularJS JSON 漏洞保护