我正在尝试使用SQL Server和Windows身份验证在Vista(IIS7)上运行ASP.NET网站。无论我做什么,当我连接到数据库时,我得到例外:
SqlException was unhandled Login failed for user 'MyDomain\MachineName$'.
我应用的设置似乎并不重要,我无法让IIS7通过我的Windows登录凭据。
额外细节:
帮助!
答案 0 :(得分:7)
正确配置时,模拟开启/关闭会产生重大影响。您想要的是“约束委派”,您需要为它配置IIS和ASP:
答案 1 :(得分:1)
默认情况下,IIS服务器不允许impersonate
您使用SQL Server。关于如何配置它有一个MSDN article。配置过程复杂且容易出错。
如果您的生产ISS和SQL Server在不同的服务器上运行,则您需要域管理员来配置两台服务器之间的模拟信任。这通常是一个大型组织的禁忌。
除了不由普通管理员部署之外,模拟还会阻止用户在SQL连接池中共享其连接。即使是小型(超过5个用户)的网站,这也会导致非常明显的性能损失。
答案 2 :(得分:0)
您是否尝试为应用程序创建新的用户帐户,在Sql Server上为其授予适当的权限,然后将应用程序池设置为在此新帐户下运行? 这就是我通常做的,而且它有效。我没有在NetworkService,LocalSystem或其他内置帐户下运行我的应用程序。
答案 3 :(得分:0)
您的连接字符串是否包含Integrated Security=SSPI
?
您是否已将asp.net上下文切换为域用户?
以下是关于此主题的MSDN文章