无法登录到IIS上的asp.net站点

时间:2014-06-09 20:13:15

标签: asp.net sql database iis

我整天都在争取寻找解决方案,而且我走到了尽头。一旦我将我的应用程序放在IIS上,我就会遇到登录错误。我修复的其中一个错误类似于这个错误。无法打开数据库" ClientInfo"登录要求。

现在我收到此错误,这是相同的,但我不确定如何修改此特定数据库的NT AUTHORITY \ NETWORK SERVICE用户的权限。

Cannot open database "aspnet-ClientInfo-20140609140222" requested by the login. The login failed.
Login failed for user 'NT AUTHORITY\NETWORK SERVICE'.

完整的错误消息在此处:s11.postimg.org/3x1vj1ezl/Untitled.png

1 个答案:

答案 0 :(得分:2)

不要太担心。当它不能按照你期望的方式工作时,这总是令人头痛。在开始之前,请注意网络服务可能对任何Web应用程序来说都具有过高的权限级别。查看这篇文章,了解如何将特定网站的相应应用程序池添加到SQL Server登录中:Add IIS 7 AppPool Identities as SQL Server Logons

这就是我解决这些问题的方法:

1.确保您可以访问SQL Server Management Studio Express,并登录数据库服务器。如果您在SQLEXPRESS上运行,请将服务器名称设置为。\ SQLEXPRESS,或者您的实例名称。

2.)转到服务器级别的Security文件夹。右键单击“登录”并选择“新登录”。在“登录名”文本框的右侧,选择“搜索”,然后选择“高级”,然后选择“立即查找”(不输入任何搜索条件)。向下滚动并选择“网络服务”

3。)点击确定。然后再次点击确定。您的新登录信息已添加到您的网络服务中。

4.。)转到数据库级别的Security文件夹。通过右键单击数据库级别的安全性下的“用户”文件夹来添加新用户。单击登录名旁边的3个点(省略号),然后单击“浏览”。选中您在步骤2中创建的登录名旁边的复选框。点击确定。然后再次点击OK。

5.)最后一部分是为新用户提供一个用户名(顶部的第一个文本框),然后将该用户映射到正确的权限。我相信一些比我知道的人会射击我,但我总是在“数据库角色成员资格”下选择db_datareader和db_datawriter。如果您正在使用ASP_NET成员资格模式,则还应选择所有基本访问角色。

6。)点击确定。

根据您使用的SQL Server版本,您可能需要看到我上面的步骤与您实际需要执行的操作之间的轻微波动。不过,这应该会让你接近。