我有一个调用多个 WCF 服务的 asp.net Web 应用程序。Web 应用程序位于 www.mydomain.com,服务位于 services.mydomain.com。它们托管在同一台服务器上。
我刚刚向使用传输安全 (https) 和 Windows 身份验证的服务添加了安全端点 (bassicHttpBindings):
<binding name="WindowsSecuredBinding">
<security mode="Transport">
<transport clientCredentialType="Windows" />
</security>
</binding>
并将客户端 Web 应用程序配置为使用这些新的安全端点。我期待下一步是在 Web 应用程序中编写一些代码来设置客户端凭据,以便通过 Windows 身份验证。令我惊讶的是,服务调用在没有设置客户端凭据的情况下成功。我假设它必须发送运行 Web 应用程序的帐户,但不知道如何验证。在其他情况下,我认为我已经看到客户端凭据没有隐式默认值。
所以我有两个问题:
- 身份验证如何成功?它是否向用户发送应用程序运行的用户,浏览器用户的凭据,没有凭据?
- 如何调试/记录/跟踪身份验证过程?我想至少看到正在被验证的用户名,这样我就可以验证安全性。