我继承了一个我被要求查看的项目。它是部署在客户端Intranet服务器上的ASP.NET网站。他们给了我VPN访问和源代码。他们使用Active Directory进行身份验证。
所以这就是我的设置:代码在本地运行,连接到数据库服务器上的数据库。
在web.config中,我看到身份验证模式= Windows,身份模仿是真的。但是,当我运行项目时,我收到此错误:
无法从中指定的凭据创建Windows用户令牌 配置文件。来自操作系统的错误'安全性 服务器上的数据库没有此计算机帐户 工作站信任关系。
身份行的用户名(web.config)是一个服务帐户。所有这些都在生产中运行良好。关于为什么这个应用程序不进行身份验证的任何想法?谢谢!
答案 0 :(得分:1)
如果您的开发计算机未加入其域,则可能无效。但也许它是可能的。
首先,尝试在web.config中禁用Kerberos并强制使用NTLM:
<system.webServer>
<security>
<authentication>
<windowsAuthentication enabled="true">
<providers>
<clear />
<add value="NTLM" />
</providers>
</windowsAuthentication>
</authentication>
</security>
</system.webServer>
如果您在IIS中本地托管,则可以在IIS管理器中执行相同操作。选择网站 - &gt;身份验证 - &gt;右键单击Windows身份验证 - &gt;提供商 - &gt;删除&#39;谈判&#39;从列表中,只留下NTLM。