我在网上看到了几个关于保护WCF数据服务(OData)的条目。我很高兴听到您关于保护WCF DS的建议,假设它将由Java客户端使用。
答案 0 :(得分:1)
我认为你有很多选择。由于它是所有REST请求,因此客户端实际上并不重要(除了它排除任何特定于Windows的集成内容)。 :)
我已经做了一些原型,我的请求标头中有一个加密的令牌,我在OnStartProcessingRequest事件处理程序中获取。您可以访问HttpContext.Current
,因此您只需获取请求标头,针对您的令牌存储进行验证,然后让请求继续。客户端,无论是Java,C#,JavaScript还是其他任何东西都负责创建令牌并将其附加到您的请求标头。
去年,WCF数据服务团队发布了一系列博客文章,回应了一些社区批评,称WCF数据服务不是那么安全。他们列出了许多保护WCF数据服务的不同方案。我认为特别适合您情况的两个条目是:
OData and Authentication – Part 4 – Server Side Hooks
OData and Authentication – Part 5 – Custom HttpModules
您可以在here系列中找到所有博客。
我认为这两个链接很有用,因为它完全与服务器端配置有关。 OData支持也包含在RESTlet extension中,但作为一个.NET人员,我无法向您提供更多信息。 :)
我希望这会有所帮助。祝你好运!