Ali*_*Ali 5 iis integrated-security sql-server-2008-r2
我有一个网站的以下配置:
所有机器都在运行 Windows 2008 R2 Enterprise 和 SQL Server 2008 R2 的同一个域(例如 MyDomain)中。
我正在部署使用应用程序池标识的 Web 应用程序。我将池命名为 MyWebApp,它可以转换为名称 [IIS APPPOOL\MyWebApp]。当我尝试将此用户添加到 SQL Server 时,出现错误:
找不到 Windows NT 用户或组“IIS APPPOOL\MyWebApp”。再次检查名称。
我用来在 SQL Server 中创建帐户的脚本是:
CREATE LOGIN [IIS APPPOOL\MyWebApp] FROM WINDOWS WITH DEFAULT_DATABASE=[MyDatabase], DEFAULT_LANGUAGE=[us_english] GO
我想问题的发生是因为 IIS 帐户是 SQL Server 框不可见的本地帐户。
有人可以解释一下如何解决这个问题吗?使用域帐户是我唯一的选择还是我仍然可以使用应用程序池帐户?
我想问题的发生是因为 IIS 帐户是本地帐户,SQL Server 框看不到该帐户。
这正是问题所在。IIS AppPool 帐户仅存在于 Web 服务器上。如果您能够将此帐户添加到 SQL Server,则您将授权与SQL Server在同一计算机上运行的 IIS AppPool 。(我怀疑它可能仍然会失败。)
最安全的解决方案可能是按照您所说的操作 - 在域上创建一个帐户,为该帐户授予对数据库的适当权限,然后使用该帐户的凭据运行 AppPool。
但是,如果您仍然想这样做,则需要授权运行 AppPool 的计算机DOMAINNAME\ComputerName$
- 即(请注意$
最后的 )。
请查看这篇文章以获取更多信息(特别是标题为“访问网络”的部分)。
然而,我认为这是一个坏主意,因为它授权任何作为 NetworkService 运行的程序访问数据库——而不仅仅是您的 Web 应用程序。
归档时间: |
|
查看次数: |
13312 次 |
最近记录: |