我有一个 asp.net Web 应用程序,它在域中的 Windows XP 机器上运行良好。我将它移植到 Windows 7 独立机器上。该应用程序使用一个调用 sql server 的 Web 服务。Web 服务器 (IIS 7.5) 和 SQL Server 位于同一台独立计算机上。
我为网站和 Web 服务启用了 Windows 身份验证。Web 服务使用受信任的连接连接字符串。Web 服务凭据使用 System.Net.CredentialCache.DefaultCredentials。我注意到调用后用户名、密码和域名都是空白的!Web 服务和网站使用具有 NetworkServices 标识的“经典 .NET AppPool”。
我在 Web 服务的数据库调用中收到异常“NT AUTHORITY\ANONYMOUS LOGON”。我假设它与空白凭据有关。
我期望 ASPNET 用户成为数据库的安全令牌。为什么这没有发生?我错过了一个设置吗?(通常当 sql server 和 web server 位于域中的两台不同机器上时,会发生这种情况,委托和双跳,但在我的情况下,一切都在开发盒上)