Link to home
Start Free TrialLog in
Avatar of FWeston
FWeston

asked on

IIS 6 integrated authentication still prompts for credentials

I have an existing intranet website that uses anonymous authentication in IIS and handles user authentication via ASP.  Each page checks for the existence of a session variable that is populated when the user successfully logs in.  If that variable is null, the user is redirected to login.asp where they can login.

I want to use integrated authentication so users aren't prompted to enter a password.  What I've done is changed the authentication settings on login.asp in IIS Manager.  I disabled anonymous access for this page and set the only enabled authentication method to integrated windows authentication.  The idea being, that when the user is redirected to login.asp, I can grab their windows username, set the session variable for them, and thus automatically log them in.

Here's the problem.  When I browse to login.asp, I still get a authentication dialog box popup in the browser.  I'm using Firefox and have added the sites URL to the "network.automatic-ntlm-auth.trusted-uris" parameter under about:config.  I've checked the NTFS permissions on the file and verified that integrated windows authentication is selected for it in IIS Manager - but it still prompts me for authentication.

I created a new website in IIS for testing purposes.  I created a new webroot folder and copied the login.asp file into it.  I set the directory security options for this new test website to allow anonymous access and then manually set the authentication options on the login.asp file to only permit integrated windows auth.  I added the test site's URL to firefox's list of NTLM sites and when I browse to login.asp on the test site, I am logged in automatically.

Here's the kicker - in IIS Manager, I changed the directory for the test website to the same directory as the existing intranet.  Now when I browse to the test site, everything works perfectly, I am automatically logged in.

So, something about the configuration of the intranet site in IIS is screwy.  Essentially, I've set up a duplicate website in IIS, pointing to the same webroot, with the same auth settings, and that one works but the original site doesn't.

I could just create a new site in IIS and disable the old one, but there are tons of virtual directories, and special settings on subfolders that I'd have to duplicate, which would be a lot of work.

Very frustrating...what am I missing?
Avatar of cj_1969
cj_1969
Flag of United States of America image

This sounds like some additional settings have been enabled, or not, in the original site configuration.
Check the properties tab for the site and then check the Home tab then the Configuration button then the Options tab ... check the Enable parents path to start with.
Avatar of FWeston
FWeston

ASKER

I've gone through the IIS properties for both sites side by side and they're identical.  Neither had the enable parents path option selected.  Enabling this didn't change affect the problem.
Check in the site and see if there is web.config file.
Look for the authentication section, see if this is set to forms ...
i.e.
<!-- Web.config file -->
<system.web>
   <authentication mode="Forms">
      <forms forms="401kApp" loginUrl="/login.aspx" />
   </authentication>
</system.web>

if it is, change it to
<system.web>
   <!-- mode=[Windows|Forms|Passport|None] -->
   <authentication mode="Windows" />
</system.web>


Well, change the authentication mode ="" portion in your file.
Avatar of FWeston

ASKER

There is not a web.config file.
ASKER CERTIFIED SOLUTION
Avatar of cj_1969
cj_1969
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of FWeston

ASKER

I ended up just disabling the existing site and setting up all the virtual directory settings on the test site and everything is working.  It ended up being less work, and I needed to get it done so I could proceed with the project.  I'll give you points for the assistance though.
Thanks!
If I had known you were going that route I would have tried to help you out with that.