2010-01-15 175 views
1

我正在构建一个Web服务,需要可以访问各种潜在的平台,包括一些较旧的ASP和ASP .NET应用程序。经过一番研究,我决定使用REST(webHttpBinding)和SOAP(wsHttpBinding)端点来实现WCF服务(这样,我可以支持多种平台,并且仍然使.NET编码器感到开心)。WCF与Http基本身份验证

为了安全起见,我对我自己的用户名/密码数据库使用SSL和HTTP身份验证基本。所以我写了一个HttpModule来处理用户名和密码并检查SSL。现在,REST设置完美运行,但我遇到了SOAP端点的问题。无论我使用什么设置,SOAP客户端都不会向我发送可用于验证的WWW授权标头。我假设像<message clientCredentialType="UserName" />这样的设置应该告诉WCF我期望授权标头,并且该信息将在Visual Studio(或任何客户端)创建Web引用时被拾取。也许我只是无望地天真。

所以总结一下这个问题:有没有什么办法可以告诉WCF发送WWW-Authorization头文件(即HTTP基本头文件)以及soap消息?

回答

2

您可以为您的身份验证创建自定义标头。

看一看here

+0

嗯,如果是复杂的,我的客户将不得不应对的水平,我想我可能会更好下降SOAP支持,给他们包了REST一些API的DLL调用。在我的情况下,拥有SOAP端点的关键是让客户的生活更轻松(即,他们所要做的就是添加一个webreference)=) – Badjer 2010-01-15 22:52:54