authentication issue with an intranet website running under IIS6

谁说我不能喝 提交于 2019-12-03 04:00:51

I am experiencing the same problem. I believe it is something to do with Kerberos authentication mechanism. If it resorts to NTLM it will work (which it does when using an IP address). Kerberos requires an SPN registered on Active Directory for it to work. Kerberos also won't allow you to have application pools running under different accounts but with the same server name. In these situations you should have an alternate name for the site and register that with Kerberos. However, I haven't actually resolved the issue yet so these are just suggestions.

Two possible problems come to my mind:

  1. The DNS server in your network is not resolving servername to an IP

    • Run Ping servername from the command line to check if the name brings the IP expected
    • edit the C:\Windows\System32\drivers\etc\hosts file and add the server name and IP address
  2. The Bindings in IIS6 does not expect servername

    • Make sure that servername is included in the list or the Host Header Name field is empty

I had exactly these symptoms when the web server had its IP address changed due to a new internal IP addressing scheme. Pass through authentication worked from the webserver itself but not from any other system. From other systems, using the host name in the URL caused IE to prompt for credentials which were always rejected, using the IP address in the URL caused IE to prompt for credentials which were accepted. After chasing a lot of red herrings we suspected that the server was caching credentials against the old IP address, so we rebooted the server and it all came right.

Try this. I had exactly same problem and it fixed it for me (I'm the linked thread)

I set my AuthenticationProvider for my website to "NTLM, Negotiate"

Following these instructions: http://support.microsoft.com/kb/215383

With a slight change to their instruction to set provider of course

mine:

cscript adsutil.vbs set w3svc/WebSite/root/NTAuthenticationProviders "**NTLM, Negotiate**"

You can get the Website ID by clicking on the "Web Sites" folder on the left in IIS. This should list all your website with their ID

Thanks to Nick's answer that lead me to it

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!