我已经获得了生产SQL数据库的备份,以开始编写应用程序。
我已经将它作为本地实例运行并使用Windows身份验证,我可以读取信息,但是我无法弄清楚如何让IIS在运行本地ASP.Net网站时使用我的Windows身份验证登录到SQL服务器。
我没有权限在数据库中添加用户,当我尝试访问读取数据库的页面时,我收到System.Data.SqlClient.SqlException: Login failed for user 'NT AUTHORITY\NETWORK SERVICE'.
错误。
我认为我无法与数据库管理员沟通一段时间让他为我解决这个问题。我能在这做什么吗?
答案 0 :(得分:3)
您的asp代码使用的是IIS运行的相同标识 - 网络服务帐户。要使其使用您的凭据,您可以将它们硬编码为连接字符串,也可以使用模拟(请参阅此链接:http://msdn.microsoft.com/en-us/library/aa292118%28VS.71%29.aspx)
链接的要点:
将它放在web.config文件中:<identity impersonate="true" />
-t
答案 1 :(得分:0)
您需要在SQL Server中为网络服务帐户创建一个帐户,例如通过SSMS通过“安全”部分,右键单击“登录”并选择添加。您将添加Windows帐户,然后可以查找并验证名称“NETWORK SERVICE”。然后切换到“用户映射”部分并授予查看数据库的权限。
参考:http://msdn.microsoft.com/en-us/library/ms998320.aspx#paght000015%5Fsqlserver
第二种选择 如果您的连接字符串中存在“integrated security = sspi”,那么:
希望它会有所帮助。