ApplicationPoolIdentity 映射到什么?
当我在部署在一台机器 (Win Server 2008 R2) 上的网站上使用 ApplicationPoolIdentity 并尝试访问 SQL Server 时,我得到:
用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败。
但不同盒子(Win7)上的相同配置给了我:
用户“DOMAIN\MACHINE$”登录失败。
两个applicationHost.config
文件都有:
<anonymousAuthentication enabled="true" userName="IUSR" />
问题:配置上的区别在哪里?更具体地说,我需要调整什么才能让进程(网站)通过“DOMAIN\MACHINE$”进行身份验证?
上下文:IIS7(Windows 7 和 Windows Server 2008 R2)
When I use ApplicationPoolIdentity on a web site deployed on one box (Win Server 2008 R2) and try to access SQL Server I get:
Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
but the same configuration on the different box (Win7) gives me:
Login failed for user 'DOMAIN\MACHINE$'.
Both applicationHost.config
files have:
<anonymousAuthentication enabled="true" userName="IUSR" />
Question: where is the difference in configuration? more specifically, what do I need to tweak to have process (web site) authenticate with 'DOMAIN\MACHINE$'?
Context: IIS7 (Windows 7 and Windows Server 2008 R2)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
有关 IIS ApplicationPoolIdentity 以及如何配置它的信息,请参阅 IIS.net 文章 应用程序池标识。
For information about the IIS ApplicationPoolIdentity and how to configure it, see the IIS.net article Application Pool Identities.
经过大量搜索后,我发现了这个 Microsoft 修补程序: http://support.microsoft.com/kb /2545850。它似乎为我解决了这个问题。我必须感谢其他几个 StackExchange 问题:
IIS使用应用程序池身份的应用程序丢失主令牌?
http://serverfault.com/questions/ 217547/applicationpoolidentity-iis-7-5-to-sql-server-2008-r2-not-working
After a lot of searching, I came across this Microsoft hotfix: http://support.microsoft.com/kb/2545850. It seems to solve this problem for me. I'd have to give credit to several other StackExchange questions:
IIS application using application pool identity loses primary token?
http://serverfault.com/questions/217547/applicationpoolidentity-iis-7-5-to-sql-server-2008-r2-not-working
看来您正在使用集成安全性。一个框位于域上,另一个则不在域上。您需要为这些帐户创建 SQL 登录名 - 或者更简单的方法是使用 SQL 身份验证。你的连接字符串是什么?
Looks like you're using integrated security. One box is on the domain and the other isn't. You either need to create SQL logins for those accounts - or a simpler approach is to use SQL authentication. What is your connection string?