有谁知道NTLM身份验证在WCF / basicHttp中的确切运作方式?我想知道是否为每个服务方法调用传递了用户凭证,或者是否有某种安全令牌用于后续的服务方法调用。
我正在使用的确切绑定配置:
<bindings>
<basicHttpBinding>
<binding name="winAuthBasicHttpBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Ntlm" />
</security>
</binding>
</basicHttpBinding>
</bindings>
我在MSDN参考上找到了这种类型的配置。但我不确定这是一个表现明智的好主意。另一种方法是提供一种自定义GetAuthenticationToken()方法,为客户端的所有后续请求提供安全令牌。这可以通过企业库 - 安全应用程序块来完成。
更多详细信息:浏览器/ Silverlight客户端正在使用该服务。
答案 0 :(得分:1)
在这种情况下,每个方法调用都将被验证。
您所谈论的将是所谓的“安全会话”,其中客户端针对服务器进行一次身份验证,然后使用公共令牌进行后续交换。但是,安全会话功能仅适用于wsHttpBinding - 而不是使用basicHttpBinding。
马克