【问题标题】:Data Security in ASP.Net with SQL ServerASP.Net 中的数据安全与 SQL Server
【发布时间】:2011-09-06 09:08:00
【问题描述】:

出于安全考虑,我想避免将用户名和密码放在我的连接字符串中,因此我使用“Persist Security Info=true;Integrated Security=SSPI”。当数据库和网站在同一台服务器上时,我可以通过为用户 machinename\aspnet 分配与 nt authority\local 服务一起使用的东西来使其工作。但是当网站和数据库在不同的机器上时,在 SQL Server 上设置它的方法是不同的。我不知道该怎么做。谁能帮帮我?

【问题讨论】:

    标签: asp.net sql-server security sql-server-2008


    【解决方案1】:

    假设您的 IIS 服务器应用程序池作为网络服务运行,在您的 SQL Server 上,为 DOMAIN/MACHINE$ 创建一个登录名并授予对安全对象的访问权限。确保添加美元符号。

    【讨论】:

      【解决方案2】:

      在 IIS 管理控制台中创建新的应用程序池,将其标识设置为您要用于连接到服务器的域帐户,并将您的应用程序配置为使用此应用程序池。在连接字符串中配置 windows 身份验证。

      问候

      彼得

      【讨论】:

        【解决方案3】:

        我对另一个问题Web service with database : SqlException 提供了以下答案。我相信这也可能对您有所帮助。这些步骤适用于 IIS 7.5 和 ASP.NET 4.0,但其他版本的基本概念也相同。

        如果您的环境中有 Active Directory 域设置,我建议您使用 以下:

        1. 创建一个域帐户,例如 MyDomain\webappuser,其中 MyDomain 将是活动目录域,webappuser 将是该域中的 Windows 用户帐户。在SQL 中,为这个新的域帐户用户提供访问数据库的适当权限。

        2. Internet Information Services (IIS) Manager 中,将应用程序池更改为在此服务帐户下运行。如果您运行的是 IIS 7.5,可以执行以下步骤:

        3. IIS 中,展开<server name> 节点并单击Application Pools

        4. 最好新建一个Application Pool,这样就不会干扰其他可能使用应用程序池ASP.NET v4.0的应用程序的功能。

        5. 创建新的应用程序池(比如CustomAppPool)类似于 ASP.NET v4.0 应用程序池,不同之处在于新应用程序池将使用新创建域的 Identity帐户 MyDomain\webappuser 而不是通常的 ApplicationPoolIdentity

        6. 在您的 Web 服务部署到的虚拟目录/站点的 Advanced Settings 选项上,更改 应用程序池 属性以使用新创建的应用程序池 CustomAppPool

        希望对您有所帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-05-25
          • 1970-01-01
          • 2011-02-07
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多