【问题标题】:IIS App Pool Identity vs. Windows AccountIIS 应用程序池标识与 Windows 帐户
【发布时间】:2012-07-03 20:23:50
【问题描述】:

与指定 Windows 帐户相比,在 IIS 中使用内置 App Pool Identity 的优缺点是什么?

对于 SQL Server,如果您想使用 Windows 身份验证从 .Net 应用程序连接,我假设如果我使用 App Pool Identity,我必须将其与 SQL Server 中的用户相关联,或者通过 db 授予该 App Pool Identity 访问权限?

是否只是为了方便而添加了应用程序池标识,以便您不必为您的应用程序池设置帐户?

【问题讨论】:

    标签: windows sql-server-2008 iis-7 windows-authentication application-pool


    【解决方案1】:

    使用的内置帐户特定于计算机。如果应用程序池中的应用程序需要连接到网络上的其他资源(数据库服务器、文件共享等),那么使用(Windows)域帐户可能是更好的选择。当您指定域帐户时,您必须确保它们在 IIS 正在使用的物理文件夹上设置了正确的文件权限。在以后的操作系统中 - 您可以将此帐户添加到 IIS_IUSRS 组以实现默认权限。

    【讨论】:

      【解决方案2】:

      我们的 Intranet 上运行了几个使用 Windows 身份验证的应用程序。我们在 web.config 中处理这个问题的方式是指定我们的 SQL 连接字符串,如下所示:

      <connectionStrings>
          <add name="ConnectionStringName" connectionString="Data Source=ServerName;Initial Catalog=DatabaseName;Trusted_Connection=true" providerName="System.Data.SqlClient"/>
      </connectionStrings>
      

      web.config 中还有以下内容:

      <system.web>
          <authentication mode="Windows"/>
          <identity impersonate="true" username="Domain\Username" password="password"/>
      </system.web>
      

      使用域帐户可让您以与管理其他用户帐户相同的方式管理该帐户。不利的一面是用户名和密码包含在 Web 配置中的纯文本中。

      希望这会有所帮助。

      【讨论】:

      • 我认为这不是一个好方法。您应该将其设置为使用直通,这样您就永远不会在代码/配置文件中的任何位置存储 Windows 域帐户密码。
      • 如果应用程序池使用 Windows 域帐户,那将是使用连接字符串 rhoadsce 传递给 SQL Server 的帐户,对吗?那么有必要冒充用户吗?
      猜你喜欢
      • 2017-12-15
      • 1970-01-01
      • 2011-10-18
      • 1970-01-01
      • 2013-09-13
      • 2013-05-18
      • 1970-01-01
      • 2011-10-08
      • 2014-10-01
      相关资源
      最近更新 更多