InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

OData Services和客户端可用的验证机制综述

作者 Dilip Krishnan 译者 朱永光 发布于 2010年7月31日

领域
企业架构,
架构 & 设计,
语言 & 开发
主题
OAuth ,
WCF ,
ASP.NET ,
SOA ,
.NET ,
REST ,
认证管理 ,
企业架构 ,
架构 ,
编程 ,
OData ,
安全 ,
IIS ,
AtomPub

WCF Data Services团队最近发表了一系列关于OData服务和客户端上可用验证机制的文章。OData是ATOMPub协议的一种实现,并扩展了对ATOM资源的查询和更新。来自OData网站的介绍如下:

Open Data Protocol (开放数据协议,OData)是用来查询和更新数据的一种Web协议,其提供了把存在于应用程序中的数据暴露出来的方式。OData运用且构建于很多Web技术之上,比如HTTPAtom Publishing Protocol(AtomPub)和JSON,提供了从各种应用程序、服务和存储库中访问信息的能力。OData被用来从各种数据源中暴露和访问信息,这些数据源包括但不限于:关系数据库、文件系统、内容管理系统和传统Web站点。

Alex James,Data Service团队的程序经理发表了一个系列文章,力图向大家解释关于验证方面的问题。

  • 你如何在OData协议上“附加”验证机制?
  • 我应该使用哪些WCF Data Services客户端和服务器函数库?

根据Alex对特定应用场景的解释,每一种验证机制都为了应对不同的挑战。他把这些解释组织成一组问题,来检视适合的验证机制。

  • OData Consumer(数据消费端)如何登录OData Producer(数据提供者)?
  • WCF Data Service如何模拟一个OData Consumer,以便数据库查询能在消费端用户上下文中运行?
  • 你如何把OData Consumer连接到一个使用OAuth机制的OData Producer上?
  • 你如何把企业域环境集成到托管在云中的OData Producer上,以便运行在企业账号下的应用程序能无缝地访问OData Producer?

下面是这些系列文章涉及到的一个场景列表。

Windows Authentication(Windows集成验证)——涉及用Windows Credentials(凭证)来进行验证的场景。这是在企业内部网场景下的主要模式,网络环境是同质的,只有Windows的服务器和客户端机器。

Custom Basic Authentication(自定义基本验证)——涉及在基础结构级别(如IIS)上进行的基本质询响应(challenge-response)验证的场景。假如简单的用户名/密码不能满足要求,还要支持用户/密码信息存储在数据库中的情况。

Forms Authentication(窗体验证)——涉及在托管了ASP.NET环境的IIS上通过框架级别的保护方法来实现验证的场景。

ClientSide Hooks(客户端钩子)——涉及在Windows和基本验证机制都无法使用下的客户端验证场景。“如果你使用了不同的验证模式,通常就需要使用这种机制,为了使用OAuth WRAP,不会用到Credentials属性。在使用基于声明验证的时候,你就不得不直接回去检查请求消息和消息头。”

Server Side Hooks(服务器端钩子)——涉及用不同的托管方式(如IIS、WCF或自定义环境)来托管OData服务的场景,则要在每种托管环境中以不同方式来实现验证。

当然,这个团队也在寻求一些关于“任何你希望我们研究的验证场景”的反馈。如果你打算使用OData Services以RESTful的方式来暴露数据,又想保证其安全性,那么就一定要阅读一下这个系列文章

查看英文原文:Series On Available Authentication Mechanisms For OData Services And Clients

译者 朱永光 是IT自由人和环境保护者,微软最有价值专家(MVP)和MCSD。