如何限制对 WebAPI OData 中数据的访问?
假设我有一个包含视频的 Youtube channel 。有些视频是私有(private)的,有些仅限于特定用户,有些是公开的。 如何才能确保只有允许的用户才能获取数据?
尤其是当人们想要限制对导航属性等的访问时。
我可能误解了 OData 的一些基本原理。
基本上,我正在寻找一些行之有效的模式来限制特定角色和用户对特定数据的访问,并对数据进行序列化。
最佳答案
处理此问题的常用方法是使用 Query Interceptor .当您从服务中的特定实体集请求数据时,WCF 数据服务将看到为该特定实体集定义了一个查询拦截器。您的拦截器是一个表达式,执行该表达式以过滤掉和/或限制返回的实体集中的值。
还有Change Interceptors也可以触发修改操作。
希望这对您有所帮助。
关于c# - 限制对特定关系的访问 OData .NET WebAPI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21350701/