我没有什么要测试的,但是您可以尝试将传输窗口与消息证书混合。我真的不确定,如果这是可能的。
<basicHttpBinding>
<binding name ="customBinding">
<security mode="Message">
<message clientCredentialType="Certificate" />
<transport clientCredentialType="Windows"/>
</security>
</binding>
</basicHttpBinding>
并为您的web.config:
<system.web><authentication mode="Windows"/></system.web>
供参考:message-Windows https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/message-security-with-a-windows-client
消息证书https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/message-security-with-a-certificate-client
我将客户端的用户名与带有传输安全性(ssl)的basicHttpBinding绑定:
<security mode="Transport">
<transport clientCredentialType="Windows"/>
</security>
并且没有 ssl:
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows"/>
</security>
确保IIS配置了 Authentication - WindowsAuthentication Enabled。
希望这对正在处理这个问题的人有所帮助。