C# 关于SQL Server安全性

C# 关于SQL Server安全性,c#,.net,asp.net,reporting-services,reportingservices-2005,C#,.net,Asp.net,Reporting Services,Reportingservices 2005,我有一个ASP.NET应用程序,它在IIS中的经典.NET应用程序池下运行 我要从我的网站上提交一份报告 问题是SQL Server一直告诉我它无法创建到数据源的连接,因为用户IUSR的登录失败 在将该用户直接添加到数据库后,我可以让报告正常工作,但我担心的是安全性 通过这样做,我是否向IIS上托管的所有网站打开了指定的数据库?或者该帐户标识是特定的?更好的方法是将应用程序池标识更改为特定用户并将该用户添加到数据库中,否则您将授予标准IIS匿名用户访问数据库的权限 更好的方法是将应用程序池标识更

我有一个ASP.NET应用程序,它在IIS中的经典.NET应用程序池下运行

我要从我的网站上提交一份报告

问题是SQL Server一直告诉我它无法创建到数据源的连接,因为用户IUSR的登录失败

在将该用户直接添加到数据库后,我可以让报告正常工作,但我担心的是安全性


通过这样做,我是否向IIS上托管的所有网站打开了指定的数据库?或者该帐户标识是特定的?

更好的方法是将应用程序池标识更改为特定用户并将该用户添加到数据库中,否则您将授予标准IIS匿名用户访问数据库的权限

更好的方法是将应用程序池标识更改为特定用户,并将该用户添加到数据库中,否则您将授予标准IIS匿名用户访问数据库的权限

您正在使用
Windows身份验证
。您可以使用
Sql Server身份验证
,这样您就独立于客户端应用程序的当前用户。您应该创建一个sql server用户,该用户仅具有应用程序所需的凭据,并在连接字符串中使用它

数据源=服务器;初始目录=数据库;持久安全信息=True;用户ID=用户;密码=密码


您正在使用
Windows身份验证
。您可以使用
Sql Server身份验证
,这样您就独立于客户端应用程序的当前用户。您应该创建一个sql server用户,该用户仅具有应用程序所需的凭据,并在连接字符串中使用它

数据源=服务器;初始目录=数据库;持久安全信息=True;用户ID=用户;密码=密码


除上述内容外,您还可以使用web.config模拟其他用户帐户,或者让应用程序使用SQL server登录而不是来自应用程序池的凭据。使用SQL server登录的缺点是,您必须将密码存储在web.config中。您可以加密连接字符串,但与使用windows集成安全性相比,它的维护和管理更为复杂。除上述内容外,您还可以使用web.config模拟其他用户帐户,或者让应用程序使用SQL server登录而不是应用程序池中的凭据。使用SQL server登录的缺点是您必须将密码存储在web.config中。您可以加密连接字符串,但与使用windows集成安全性相比,维护和管理连接字符串更为复杂。