我已经安装了Windows Server 2003 R2和IISangular色(没有Active Directoryangular色)。 我已经设置了一个名为'test'的虚拟目录,在'test'虚拟目录的Security选项卡下,我已经禁用了匿名login并启用了集成Windows身份validation。 服务器在本地networking上。 我所做的是使用浏览器访问服务器上的test /目录。 这里是日志:
**IE on Server** localhost - works 127.0.0.1 - works, asks for password, 8 second delay domain.com - fails, asks for password, after 3 seconds asks for a password again, the username field changes to: domain.com\username 172.28.28.100 - works, asks for password, 8 second delay
。
**Firefox on Server** same as above domain.com - the 'Remember the password' tooltip displays for a fraction of a second and then the browser asks for the password again
。
**IE on other LAN host** 172.28.28.100 - works, asks for password, 8 sec delay domain.com - works, asks for password, 8 sec delay **Firefox on other LAN host** - same as above, no delay
我显然做错了,但我不知道是什么。 我读过SPN,但是当我使用setspn -L localhost时,没有显示SPN(我想这是因为服务器不是DC)。 为什么我无法使用domain.com上的Windows集成身份validation在服务器上login?
完全错误的问题,所以这里试试2。
假设:
当你键入“domain.com”时,IE将build立一个http / domain.com的服务主体名称,并要求DC给它一张票。
如果domain.com是真实的,即您的AD域名,这是不会飞的。 至less,我不假设。
试试这个在SPN上的指导。 接受第一条build议,并使用2008版的SetSPN来完成SPN的工作。
简而言之,您将App Pool帐户(如果是IIS 6,默认情况下是Network Service,那么计算机帐户'webserver $')并注册一个SPN:
SETSPN -S http / example.com DOMAIN \ WebServer $
从理论上讲,这一切都是有效的。
我假设FireFox不会对服务器执行“遏制authentication”,而IE需要更长时间才能失败,因为它正在尝试执行。
有几个问题要解决这个问题:
您无法使用domain.com\username或进行身份validation
domain\username如果没有一个活动目录或NT域
称为domain.com进行身份validation。
您可能必须特别强制使用本地帐户,通过使用*IIS Computer Name*\username作为您的login标识,才能成功通过IIS服务器上的本地帐户进行身份validation。
您可能希望将您的站点NTAuthenticationProviders设置为禁用协商身份validation过程并强制IIS使用NTLM :
cscript adsutil.vbs set w3svc/__YourWebSite__/root/NTAuthenticationProviders "NTLM"
最简单,最快的方法是使用“基本身份validation”,但如果您不保护使用SSL的loginstream量,则存在安全问题。