我的网络服务器上运行了两个应用程序。网络服务器由我在我的计算机上本地运行。
网络服务器正在运行 IIS 7.5
我有两个申请。一个是 WCF ,另一个是 MVC 应用程序。
MVC应用程序要求WCF提供数据。
然而。在两个应用程序上启用Windows authentication
,并激活提供程序NTLM
和Negotiate
。
mvc客户端web.config设置如下:
<security mode="Transport">
<transport clientCredentialType="Ntlm" />
</security>
当我发送请求时,我得到了这个:
InnerExceptionMessage:“远程服务器返回错误:(401) 未经授权的“。
与
一起ExceptionMessage:“HTTP请求未经授权与客户端 认证方案'Ntlm'。收到的身份验证标头 服务器是'Negotiate,NTLM'。“
我已经google搜索了/ stackoverflowed很多。我甚至到目前为止编辑machine.config甚至IIS配置数据库配置文件。似乎没什么用。
短:
我正在尝试让我的两个应用程序在同一个IIS(7.5)上运行以进行通信。他们在我的本地计算机上,但我似乎无法验证自己。
答案 0 :(得分:1)
你可以尝试一下:
确保您在WCF应用web.config
中设置了此设置,而不是当前的设置:
<security mode="Transport">
<transport clientCredentialType="Windows"/>
</security>
如果MVC应用程序和WCF应用程序托管在同一个Web服务器上,请确保在MVC应用程序的绑定部分中使用Web服务器ip-address而不是外部DNS地址。