我最近将我的电脑升级到了Vista,这意味着它包含了IIS7。问题是我们正在处理的ASP.NET网站不再起作用了。我收到错误,因为应用程序尝试使用NT AUTHORITY / ANONYMOUS LOGON而不是我的域用户连接到SQL Server,并且匿名未经授权。我已经尝试了几件事,但还没有解决方案: - 安装并启用'IIS Metabase和IIS 6配置兼容性' - 为此网站启用Windows身份验证 - 创建了一个不同的应用程序池,其托管管道模式设置为Classic - 启用IIS6 WMI兼容性和IIS6管理控制台(在这里绝望)
在我们的web.config中,在我们的machine.config中有。我已经尝试将模拟设置为false并在machine.config中输入我的域用户和密码(它曾经是这样的)但是这也没有帮助。
我有什么东西不见了?还有其他人有过类似的问题吗?
答案 0 :(得分:1)
您的应用程序如何通过SQL Server进行身份验证?它使用SQL还是Windows Auth?我希望您尝试使用Windows Auth。在这种情况下,您的IIS工作进程应该在该Windows用户帐户下运行。如果没有,它至少应该模拟一个对SQL Server具有必要访问权限的Windows用户帐户。如果您启用了模拟,并且使用了正确的Windows用户帐户,并且SQL Server使用Windows身份验证进行身份验证,并且您仍然无法访问SQL Server,则可能会遇到传统的双跃点问题。换句话说,您尝试向IIS进行一次身份验证,然后使用相同的crdentials通过网络对SQL Server进行身份验证(这是您的第二跳),并且出于安全原因,Windows不允许这样做。
答案 1 :(得分:1)
我相信我找到了解决方案。至少它现在正在运作。这就是我所做的:
信用到期,this site帮助了我。
答案 2 :(得分:0)
我很遗憾地说我不能再深入研究这个问题了。实际上,它可能与我们连接到SQL Server(Win Auth)的方式有关,因为我们现在已经改变了它。现在我们在连接字符串中连接用户名和密码,然后就解决了。 所以我不能说你是否提供了答案,msvcyc,但我确实对你的解决方案投了赞成票。感谢您的时间和麻烦。
答案 3 :(得分:0)
好吧,如果没有太多麻烦可以享受它所带来的创新,我建议您迁移到集成模式。 :)