Windows身份验证,ASP.Net MVC错误

时间:2014-12-02 19:16:21

标签: asp.net sql-server asp.net-mvc authentication windows-server-2008

我正在将MVC应用程序移动到新服务器。旧服务器是Windows 2003,新服务器是Windows 2012 R2。

应用程序使用Windows身份验证,然后使用该用户调用SQL Server来检索数据。

该应用程序仍在使用Visual Studio 2008构建的MVC 1.0上。

应用程序在visual studio中本地运行良好。然后我将应用程序部署到IIS7.5。 现在,如果我使用远程桌面连接到服务器,然后在服务器上运行浏览器,应用程序运行正常。

我遇到的问题是当我从网络上的任何其他计算机访问网站时。 最初,mvc应用程序加载并显示ok。 但是当我点击任何调用SQL数据库的函数时,我会得到一个Windows登录弹出框。

看起来证书没有传递给sql server。

我不知道为什么我会收到此登录框,就像我说当我在Visual Studio中本地运行或直接在服务器上本地运行时不会发生。

即使出现此登录框,并且我输入了我的登录凭据,登录也会失败。 此外,在3次登录尝试后,应用程序池崩溃。

有没有人对我收到此登录信箱的原因有任何想法?

由于

更新:SQL Server位于另一个未更改的框中。

更新2:我刚刚发现如果我在IIS上的ASP.net模拟设置中设置我的Active Directory用户ID和密码,那么应用程序可以在任何计算机上正常运行。

这是否意味着Windows Auth没有获取我的AD用户ID并将其传递给SQL Server?

1 个答案:

答案 0 :(得分:0)

您遇到这种奇怪的行为,因为在您的服务器上运行Application Pool的用户没有足够的权限。

该用户需要拥有NTFS权限。

如果您将用户更改为Local System,那肯定会有效。但您的安全规则可能不允许这样做,因此您应该先咨询您的IT经理。