2008-11-14 63 views
0

我最近有我的电脑升级到Vista,这意味着它包括IIS7。问题是我们正在处理的ASP.NET网站不再工作。我得到一个错误,因为应用程序试图用NT AUTHORITY/ANONYMOUS LOGON而不是我的域用户连接到SQL Server,并且匿名未被授权。我已经尝试了几件事情,但还没有解决方案: - 安装并启用'IIS元数据库和IIS 6配置兼容' - 为此网站启用Windows身份验证 - 创建了一个不同的应用程序池,管理流水线模式设置为经典 - 启用IIS6 WMI兼容性和IIS6管理控制台(这里越来越绝望)自从切换到IIS7后连接到SQL与匿名登录

在我们的web.config中有和我们的machine.config中。我试着把模拟假设为false,然后在machine.config中输入我的域用户名和密码(它曾经是这样的),但这也没有帮助。

我有什么遗失?有其他人有类似的问题吗?

回答

1

我相信我已经找到了解决方案。至少现在工作。这是我做过什么:

  • 现在的网站是与设置为经典托管管道模式一个单独的应用程序池中运行,加载用户配置文件设置为False,标识设置为自定义和使用域用户(和密码),其有权访问数据库。
  • 在网站本身的“授权”下,我将匿名设置为启用,并将ASP.NET模拟设置为禁用。
  • 在网站的web.config中也设置好了。

信贷,这是由于,this site帮助了我。

1

您的应用程序如何使用SQL Server进行身份验证?它使用SQL还是Windows验证?我希望你正在尝试使用Windows身份验证。在这种情况下,您的IIS辅助进程应该在该Windows用户帐户下运行。如果不是,它至少应该模拟一个Windows用户帐户,该用户帐户对SQL Server具有必要的访问权限。如果启用了模拟,并且您正在使用正确的Windows用户帐户,并且SQL Server使用Windows身份验证进行身份验证,并且您仍然无法访问SQL Server,则可能会遇到经典双跳问题。换句话说,您尝试向IIS进行一次身份验证,并且您正在使用相同的crdentials通过网络向下一个网络(这是您的第二跳)进行身份验证,并且Windows出于安全原因不允许这样做。

+1

and there for ms在pc的广告属性中为ms创建了“可信委托”复选框 – 2008-11-15 12:18:38

0

我很抱歉地说,我无法进一步调查这个问题。事实上,它可能是我们连接到SQL Server(Win Auth)的方式,因为我们现在已经改变了它。现在我们用连接字符串中的用户名和密码进行连接并解决问题。 所以我不能说你是否提供了答案,msvcyc,但我对你的解决方案进行了投票。感谢您的时间和麻烦。