• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1158
  • Last Modified:

Debugging IIS Authentication

Hello,

I have a new installation of Win 2003 with IIS 6. I have setup a site to use Integrated Windows Authentication in the same way that I have on all of our previous servers. I have turned off anonymous access, and have ensured that the users i want to access the website have the relevant permissions on the home directory of the website.

Below are the events:

- If i am logged onto the server and run the Auth Diagnostics tool and supply my credentials a status of 200/Ok is returned.
- If i am logged onto the server and access the website through IE and again supply my credentials i am granted access however my colleague who has exactly the same permissions as me is not granted access
- If i access the website from my own PC using IE my credentials are not accepted whatsoever
- If i access the website from my own PC using Firefox my details are accepted

I don't know where to start looking for the problem as there doesnt seem to be any pattern. Is there anyway of monitoring IIS to discover more about wht exactly is going on behind the scenes?

Regards,
Al
0
partnershipdev
Asked:
partnershipdev
  • 2
1 Solution
 
Dave_DietzCommented:
Try running the following command and see if it changes the behavior:

cscript c:\inetpub\adminscripts\adsutil.vbs set w3svc/ntauthenticationproviders NTLM

Dave Dietz
0
 
partnershipdevAuthor Commented:
Hi Dave,

That code did not seem to make any difference - i was still not granted access. However it lead me to looking at the following kb, http://support.microsoft.com/kb/871179, which details setting an servicePrincipalName on the account that the application pool is running under.

Integrated authentication is now working, but the kb doesnt explain enough about why it is now working. What does setting a servicePrincipalName do? The article would suggest that setting this flag within AD enables IIS Authentication to communicate using Kerberos?

Can you offer any insight?

Thanks
Al
0
 
Dave_DietzCommented:
The servicePrincipalname, or SPN, is effectively a named endpoint that AD can use as an origin or destination for Kerberos authentication.  If you try to request a Kerberos ticket for an endpoint that AD doesn't know about Kerberos will fail.  Worse yet, if you ask for one it does know about (a machine name) and then hand that ticket to a process running under a different context (worker process running and a non-system account) it will not be able to read the ticket properly and authentication will fail.

The reason it worked on the server itself is that since you were makign a request to the same machine it used NTLM rather than Kerberos - you will not use Kerberos when making a request that doesn't make it out to the wire.

Dave Dietz
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now