1

我已经获得了生产 SQL 数据库的备份,以便开始编写应用程序。
我已经让它作为本地实例运行并使用 Windows 身份验证,我可以阅读信息,但是我无法弄清楚如何让 IIS 在运行本地 ASP.Net 网站时使用我的 Windows 身份验证登录到 SQL 服务器。

我没有在数据库上添加用户的权限,System.Data.SqlClient.SqlException: Login failed for user 'NT AUTHORITY\NETWORK SERVICE'.当我尝试访问读取数据库的页面时出现错误。

我认为我暂时无法与数据库管理员沟通,让他为我解决这个问题。有什么我可以在这里做的吗?

4

2 回答 2

3

您的 asp 代码使用与运行 IIS 相同的身份 - 网络服务帐户。要让它使用您的凭据,您可以将它们硬编码到连接字符串中,也可以使用模拟(请参阅此链接:http: //msdn.microsoft.com/en-us/library/aa292118%28VS.71 %29.aspx )

链接的要点:将其放入您的 web.config 文件中: <identity impersonate="true" />

-t。

于 2012-08-03T20:58:11.480 回答
0

您需要在 SQL Server 中为网络服务帐户创建一个帐户,例如通过 SSMS 通过“安全”部分,右键单击“登录”并选择添加。您将添加一个 Windows 帐户,然后您可以查找并验证名称“NETWORK SERVICE”。然后切换到“用户映射”部分并授予查看数据库的权限。

参考:http: //msdn.microsoft.com/en-us/library/ms998320.aspx#paght000015%5Fsqlserver

第二种选择如果您的连接字符串中有“integrated security=sspi”,那么您应该:

  1. 在 IIS 中打开集成身份验证
  2. 在asp.net中开启windows auth
  3. 在 asp.net 中打开模拟

希望它会有所帮助。

于 2012-08-04T02:52:52.587 回答