
如果我使用我的域用户连接,则该过程成功连接.如果我使用在域上创建的新服务帐户进行连接,则会收到以下错误:
The http request is unauthorized with clIEnt authentication scheme
‘Ntlm’. The authentication header received from the server was ‘NTLM’.
内在的例外是:
The Remote Server returned an error: (401) Unauthorized.
这是域帐户或我的身份验证方案的问题吗?错误消息表明它是身份验证方案,但为什么它在我的帐户下工作而不是在同一域上创建的服务帐户?
服务器配置
<security mode="TransportCredentialOnly"> <transport clIEntCredentialType="Ntlm" proxyCredentialType="None" realm="" /></security>
客户消费
public static WMServiceClIEnt CreateWMServiceProxy(){ var proxy = new WMServiceClIEnt(); proxy.Endpoint.Address = new EndpointAddress( ConfigurationCache.WMServiceEndpoint ); proxy.Endpoint.Binding = new BasichttpBinding( BasichttpSecurityMode.TransportCredentialOnly ) { MaxBufferSize = 2147483647,MaxReceivedMessageSize = 2147483647 }; ( (BasichttpBinding) proxy.Endpoint.Binding ).Security.Transport.ClIEntCredentialType = httpClIEntCredentialType.Ntlm; return proxy;}解决方法 解决方案:这实际上并不像我最初想的那样是WCF错误.当我记录内部异常时,我发现我收到了“401 – 未经授权”的错误.原来我创建的服务帐户没有获得对服务主机的远程连接访问权限.一旦我们授予访问权限并以用户身份添加服务帐户,该过程就会正确连接. 总结 以上是内存溢出为你收集整理的如何使用NTLM使用WCF Web服务对控制台应用程序进行身份验证?全部内容,希望文章能够帮你解决如何使用NTLM使用WCF Web服务对控制台应用程序进行身份验证?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)