WCF/basicHttp 和 NTLM 身份验证
有谁知道 NTLM 身份验证在 WCF/basicHttp 中到底是如何工作的? 我想知道是否为每个服务方法调用传递用户凭据,或者是否在后续服务方法调用中使用某种安全令牌。
我正在使用的确切绑定配置:
<bindings>
<basicHttpBinding>
<binding name="winAuthBasicHttpBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Ntlm" />
</security>
</binding>
</basicHttpBinding>
</bindings>
我在 MSDN 参考中找到了这种类型的配置。 但我不确定这在性能方面是否是一个好主意。 另一种方法是提供自定义 GetAuthenticationToken() 类型的方法,为客户端的所有后续请求提供安全令牌。 这可以通过企业库 - 安全应用程序块来完成。
更多详细信息:浏览器/Silverlight 客户端正在使用该服务。
Does anyone know how exactly NTLM authentication works in WCF/basicHttp? I wonder if user credentials are passed for every single service method call, or if some kind of security token is being used for subsequent service method calls.
The exact binding configuration that I am using:
<bindings>
<basicHttpBinding>
<binding name="winAuthBasicHttpBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Ntlm" />
</security>
</binding>
</basicHttpBinding>
</bindings>
I found this type of configuration on the MSDN reference. But I am not sure if this a good idea performance wise. An alternative would be providing a custom GetAuthenticationToken() kind of method to provide a security token for all subsequent requests of the client. This could be done via the Enterprise Library - Security Application Block.
Further details: The service is being consumed by Browsers/Silverlight Clients.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在本例中,每个方法调用都将经过身份验证。
您所说的是所谓的“安全会话”,其中客户端针对服务器进行一次身份验证,然后使用通用令牌进行后续交换。 然而,安全会话功能仅适用于 wsHttpBinding - 不适用于 basicHttpBinding。
马克
In this case here, every single method call will be authenticated.
What you're talking about would be what is called "secure sessions", where the client authenticates once against the server and then a common token is used for subsequent exchanges. That secure sessions features however is only available with wsHttpBinding - not with basicHttpBinding.
Marc