asp.net - 为IIS APPPOOL创建SQL Server登录-不同计算机上的IIS和SQL Server

标签 asp.net sql-server iis-7.5 application-pool

如果我找不到明显的答案,我会事先进行彻底的道歉。
遵循下面链接中的建议,该解决方案无效。该解决方案也没有指出它是否适用于在不同计算机上运行IIS和SQL Server的生产Web服务器。
Add IIS 7 AppPool Identities as SQL Server Logons

下面的Microsoft链接未提供用于创建SQL Server Windows登录名的特定语法:
http://www.iis.net/learn/manage/configuring-security/application-pool-identities

我们的目标是在生产环境中,在运行IIS 7.5的Server 2008 R2计算机上,向公众安全地部署ASP.NET 4.0 Web应用程序。按照最佳做法,我们在同一域的另一台计算机上运行SQL Server 2008。我们想使用无假冒的SQL Sever Windows身份验证来允许IIS框上的ASP.NET应用程序与SQL Server进行通信。当前,SQL Server登录连接字符串允许.NET应用程序连接到SQL Server,但我们希望将连接字符串升级为Windows SQL Server登录,以提高安全性。

在IIS 7.5上,我们为网站配置了应用程序池。
在“应用程序池”高级设置下,“内置帐户”尝试使用ApplicationPoolIdentity和网络服务,但均未成功。据说最佳实践是使用ApplicationPoolIdentity以获得更严格的安全性。

失败的步骤是创建SQL Server Windows登录名。

每个第一个链接我们都遵循以下步骤:


在SQL Server Management Studio中,查找“安全性”文件夹(与数据库,服务器对象等文件夹处于同一级别的安全性文件夹...而不是每个单独数据库中的安全性文件夹)
右键单击登录名,然后选择“新登录名”
在登录名字段中,输入IIS APPPOOL\YourAppPoolName-不要单击搜索
填写您喜欢的其他任何值(即身份验证类型,默认数据库等)
点击确定


如果将IIS 7.5和SQL Server放在单独的框中,您能告诉我,创建SQL Server窗口登录名需要使用什么语法?

我已尝试多次:“ mydomain\machine1$\IIS APPPOOL\MyAppPoolName”,但未成功。
错误消息是:“ Windows NT User or group IIS APPPOOL\MyAppPoolName can not be found

我已经使用了Web服务器的网络名称代替了machine1(以及实际的应用程序池名称和域名)。

在此先感谢您的帮助。

附言:如果Microsoft提供了有关如何完成此常见操作以及应该是一件容易的事情的分步教程,那将是非常不错的。您在StackOverFlow上的答案将对很多人有所帮助:)

最佳答案

解决您的问题的一种方法是为应用程序池设置一个单独的帐户(不是内置帐户)。您可以授予该帐户最少的权限,也可以授予对SQL Server的访问权限。

这样,您可以使用易于设置但仍严格控制安全性的域帐户。

关于asp.net - 为IIS APPPOOL创建SQL Server登录-不同计算机上的IIS和SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20157589/

相关文章:

asp.net - 使用 HEAD 或 OPTIONS 动词代替 POST 的登录表单

sql-server - 如何重命名 SQL Server 中的表?

c# - SQLite 查询中的 "Apply joins is not supported"

Powershell脚本为多个服务器远程获取网站的证书到期

c# - Web 窗体中的 ASP.NET Web Api

asp.net-mvc - ASP.NET MVC 5.1、ASP.NET Web API 2.1 是否需要 IIS 7.5?

.net - 没有 MembershipUser 的自定义 MembershipProvider

c# - 有没有办法在 ASP.NET 面板控件上设置最小高度?

asp.net - DropDownList 的 MVC2 编辑器模板

sql-server - 获取 SQL Server 中给定月份和年份的所有日期