WCF RESTful API

时间:2011-06-02 12:38:16

标签: wcf rest restful-authentication

我使用一个简单的方法创建了一个WCF项目,该方法在byte []和int(id#)中返回pdf,并且具有用户名+密码,其中包含用于消息安全性的自定义验证器和用于传输安全性的SSL。现在客户端告诉我他假设我要创建一个RESTful API。我没有任何REST经验,但我已经看到你可以在WCF中创建一个REST项目(这是我更喜欢与我的解决方案的其余部分进行交互)。

首先,您能否以相同的方式在RESTful API中提供pdf?我将int设置为out参数以便将其返回给客户端,我可以假设out参数的功能也一样吗?

其次,我可以使用相同类型的安全设置吗?我假设SSL仍然会保护传输,但我似乎无法找到一个关于基本安全性的好示例或教程。如果需要,我可以使用不同的安全方法。

1 个答案:

答案 0 :(得分:1)

REST与SOAP甚至WCF的不同之处在于您没有使用繁琐的“信封”,遗憾的是,这些信封为您提供的功能类似于您正在使用的身份验证方案(以及params等)

请参阅Best Practices for securing a REST API / web service

您可以使用基本身份验证+ SSL进行身份验证。您必须加密基本身份验证,否则它是不安全的。对于out参数,似乎基于复合XML的结果如下所示:

获取

可以返回XML,如:

<result>
  <intValue>4</intValue>
  <pdfByteString><![CDATA[bytestring...etc.]]></pdfByteString>
</result>

实际上看起来WCF确实有一些内置功能可以帮助你,这篇白皮书应该提供一个不错的介绍:

http://msdn.microsoft.com/en-us/library/ee391967.aspx#Y1720