我有一个部署到 Windows Server 2008r2 中的 IIS 的内部网站。
我想使用 AD 身份验证。目前,该网站仅在我的开发虚拟机上运行,该虚拟机未加入域。
在 InetMgr 中,我已在“默认网站”级别和部署我的网站的应用程序中将“匿名身份验证”设置为“已禁用”,并将“Windows 身份验证”设置为“已启用”。已启用的提供程序设置为协商和 NTLM。
我已将网站配置为在应用程序池中运行,并已将其分配为在本地帐户“scv.BizTalk”下运行。此帐户对包含该网站的本地文件夹具有完全访问权限。
在浏览该网站时,我被要求提供凭证,并收到 401.2 错误。
在事件日志中我看到以下内容:
Event code: 4007
Event message: URL authorization failed for the request.
Event time: 18/12/2015 14:58:42
Event time (UTC): 18/12/2015 14:58:42
Event ID: fdcfe3ec19ef498ca0c0d66ffca3e961
Event sequence: 2
Event occurrence: 1
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/1/ROOT/EsbPortal-1-130949242820806218
Trust level: Full
Application Virtual Path: /EsbPortal
Application Path: C:\BizTalkersTFS\TVS\TVS.ESB.BamPortal\TVS.ESB.BamPortal.Website\
Machine name: TVS-QAN0CEQNRJC
Process information:
Process ID: 15256
Process name: w3wp.exe
Account name: TVS-QAN0CEQNRJC\svc.biztalk
Request information:
Request URL: http://localhost/EsbPortal
Request path: /EsbPortal
User host address: ::1
User: TVS-QAN0CEQNRJC\Administrator
Is authenticated: True
Authentication Type: Negotiate
Thread account name: TVS-QAN0CEQNRJC\svc.biztalk
Custom event details:
在 IIS 日志中我看到以下内容:
2015-12-18 14:58:03 ::1 GET /EsbPortal - 80 - ::1 Mozilla/5.0+(Windows+NT+6.1;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/47.0.2526.106+Safari/537.36 401 0 0 2045
2015-12-18 14:58:42 ::1 GET /EsbPortal - 80 TVS-QAN0CEQNRJC\Administrator ::1 Mozilla/5.0+(Windows+NT+6.1;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/47.0.2526.106+Safari/537.36 401 0 0 16
2015-12-18 15:02:28 ::1 GET /favicon.ico - 80 - ::1 Mozilla/5.0+(Windows+NT+6.1;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/47.0.2526.106+Safari/537.36 404 0 2 214
2015-12-18 15:02:29 ::1 GET /EsbPortal - 80 - ::1 Mozilla/5.0+(Windows+NT+6.1;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/47.0.2526.106+Safari/537.36 401 0 0 408
有人能告诉我我的配置中遗漏了什么吗?也许是我的开发虚拟机未加入域导致了这个问题,但我认为不应该是这样。我认为客户端应该能够使用本地帐户进行身份验证?
答案1
从该文档来看您是对的,所以您不在域中并不重要。
https://www.iis.net/configreference/system.webserver/security/authentication/windowsauthentication
该元素定义 Internet 信息服务 (IIS) 7 Windows 身份验证模块的配置设置。当您的 IIS 7 服务器在使用 Microsoft Active Directory 服务域标识或其他 Windows 帐户识别用户的企业网络上运行时,您可以使用 Windows 身份验证。因此,您可以使用 Windows 身份验证您的服务器是否是 Active Directory 域的成员。
您是否已将本地管理员或您尝试连接的帐户分配到站点的权限?在 IIS 中选择站点 -> 授权规则。指定谁和哪种类型的访问权限。