相关疑难解决方法(0)

HTTP请求未经授权使用客户端身份验证方案"Negotiate".从服务器收到的身份验证标头是'NTLM'

几天前,当在客户端和wcf Web服务之间使用Windows身份验证时,我对身份验证问题感到非常头疼.我得到的错误是"HTTP请求未经授权,客户端身份验证方案'协商'.从服务器收到的身份验证头是"NTLM".堆栈上的解决方案都没有工作,因为大多数解决方案与旧方法有关.

c# windows authentication wcf

38
推荐指数
3
解决办法
10万
查看次数

安全模式="传输"和安全模式="TransportCredentialOnly"之间有什么区别?

之间有什么区别security mode="Transport"security mode="TransportCredentialOnly"当我使用它BasicHttpBinding在ISS 7.0和安装SSL?

wcf wcf-security

31
推荐指数
2
解决办法
4万
查看次数

如果没有显式设置凭据,WCF Windows身份验证如何工作

我有一个asp.net Web应用程序,可以调用多个WCF服务.该网络应用程序位于www.mydomain.com,服务位于services.mydomain.com.它们来自同一台服务器.

我刚刚将安全端点(bassicHttpBindings)添加到使用传输安全性(https)和Windows身份验证的服务中:

<binding name="WindowsSecuredBinding">
  <security mode="Transport">
    <transport clientCredentialType="Windows" />
  </security>
</binding>
Run Code Online (Sandbox Code Playgroud)

并配置客户端Web应用程序以使用这些新的安全端点.我期待下一步是在Web应用程序中编写一些代码来设置客户端凭据以通过Windows身份验证.令我惊讶的是,服务调用正在成功而不设置客户端凭据.我假设它必须发送Web应用程序正在运行的帐户,但不知道如何验证.在其他情况下,我认为我已经看到客户端凭据没有隐式默认值.

所以我有两个问题:

  1. 身份验证如何成功?它是否向用户运行应用程序运行,浏览器用户的凭据,没有凭据?
  2. 如何调试/记录/跟踪身份验证过程?我想至少看到正在验证的用户名,以便我可以验证安全性.

asp.net wcf windows-authentication

5
推荐指数
1
解决办法
3204
查看次数