我希望为Web服务提供安全性。我最初使用BasicHttpBinding与传输安全(SSL)和消息安全性(传递用户名和密码为自定义用户名密码验证)...WCF安全 - 使用用户名密码的传输级别安全性
但Web服务的消费者表示,他们不能添加标头的SOAP消息安全细节..并表示他们希望通过该服务的沟通渠道。
是否可以使用WCF进行传输安全性自定义用户验证?我无法得到它的工作:(
有什么建议?
感谢 尼尔
我希望为Web服务提供安全性。我最初使用BasicHttpBinding与传输安全(SSL)和消息安全性(传递用户名和密码为自定义用户名密码验证)...WCF安全 - 使用用户名密码的传输级别安全性
但Web服务的消费者表示,他们不能添加标头的SOAP消息安全细节..并表示他们希望通过该服务的沟通渠道。
是否可以使用WCF进行传输安全性自定义用户验证?我无法得到它的工作:(
有什么建议?
感谢 尼尔
我想你的消费者所要求的基本身份验证,也就是说,在认证令牌的HTTP授权通过头,而不是在SOAP安全头的凭据的保密将仅由传输(HTTPS)来提供
此的结合配置是:。
<basicHttpBinding>
<binding name="HTTPSwithBasicAuthentication">
<security mode="Transport">
<transport clientCredentialType="Basic" />
</security>
</binding>
</basicHttpBinding>
在客户端,你设置凭据这样
serviceClient.ClientCredentials.UserName.UserName = "username";
serviceClient.ClientCredentials.UserName.Password = "password";
假设您的服务托管在IIS,请记住要启用基本身份验证在IIS配置。
要执行用户的实际授权,您可以实施自定义ServiceAuthorizationManager
以包含您的授权逻辑。有很多关于如何在网络上完成最后一部分的例子。
或者,您可以在标准的ASP.Net成员资格提供程序中进行配置,如果这适合您的应用程序。
http://msdn.microsoft.com/en-us/library/bb398990(VS.100).aspx