【发布时间】:2013-12-15 23:23:08
【问题描述】:
在使用 WCF 服务 (SOAP) 时,我发现此过程更简单,但这里...
用户在哪里 1..* 类别:
在公开 OData RESTful 服务(MVC4、WebAPI、OData)时,可以像这样发布客户端代码:
/odata/Categories?$filter=startswith(CategoryName,'paid')
甚至
/odata/Categories
将为所有用户返回所有类别。不是很安全。
我想确保在用户登录时发出的所有请求(我正在使用带有我自己的自定义角色提供程序的表单身份验证)仅返回与该用户相关的数据(其中 userID=x)。是否需要创建自定义过滤器,即使登录用户看到传出的 WebAPI/OData 请求路径(通常在 JavaScript 中定义),他们也无法尝试获取其他用户的信息?
db 中的每个导航属性或相关表都有一个 UserID 字段,可以在其中使用“AND UserID=x”。
这是否涉及创建某种FilterQueryValidator(实际上是查询添加),类似于this 页面底部的内容?
我只是不确定这是如何工作的,希望得到一些指导。
仅供参考:这可能与 this 其他问题有关,但更具体的是基于用户的请求。
【问题讨论】:
标签: rest asp.net-mvc-4 odata asp.net-web-api