我有以下配置:
- 自托管 ASP.NET Web API
- ASP.NET MVC 3 Web 应用程序
Web 应用程序 [2] 通过 HTTPS 与 Web API [1] 通信。他们(目前)都住在同一台机器上。
Web API [1] 的 Http 绑定配置如下:
httpBinding.Security.Mode = HttpBindingSecurityMode.Transport;
httpBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Ntlm;
httpBinding.TransferMode = TransferMode.Streamed
我无法使用 https 和 ntlm 授权使其工作。
- 如果我通过纯 http 进行通信,它可以工作并且我已通过正确的身份验证
- 如果我通过 https 进行通信,则所有具有 [Authorize] 标签的控制器操作都会出现“401 Unauthorized”错误(它适用于不需要授权的操作)
为什么只更改传输协议(从 http 到 https)会阻止 NTLM 身份验证工作?
感谢您提供任何帮助!