Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Windows Authentication prompts for username/password

I am trying to deploy an application in a client network, with AD/domain controller.

My application is a simple asp.net c# application, using windows authentication.

I am using win2003.

Basically, using VS2008, create a new website, hosted on IIS6.0. Only 2 changes. 1. On IIS Directory security for the application, enabled "Integrated Security".
Note: anonymous is also enabled.

Only one change to the skeleton code generated. Add below to the page_load method of default.aspx

using System.Security.Principal;
...
protected void Page_Load(object sender, EventArgs e)
{
    WindowsIdentity id = WindowsIdentity.GetCurrent();
    Response.Write("<B>Windows Identity Check</B><br>");
    Response.Write("Name: " + id.Name + "<br>");
    Response.Write("<BR>");
    Response.Write("User.Identity: " + User.Identity.Name);
    Response.Write("<BR>");
}

Output of browsing to the page: Windows Identity Check- Name: NT AUTHORITY\NETWORK SERVICE User.Identity:

The User.Identity.Name does not output the current username.

As discussed in this article http://weblogs.asp.net/scottgu/archive/2006/07/12/Recipe_3A00_-Enabling-Windows-Authentication-within-an-Intranet-ASP.NET-Web-application.aspx

I added:

<authorization>
    <deny users="?"/>
</authorization>

From what i userstand is that, when this is added, I can get the current users, username from User.Identity.Name.

However, once I added the above, the browser now prompts me for a username and password. Once I enter it, I am able to use User.Identity.Name to get the username. However I do not want the username/password pop up to appear. I want the application to authenticate the user based on their network credentials.

Am I missing something?

like image 385
minalg Avatar asked Mar 03 '09 00:03

minalg


People also ask

How do I find out my Windows Authentication password?

Click on the Control Panel. Go to User Accounts. Click on Manage your network passwords on the left. You should find your credentials here!

What is Windows Authentication Username?

Click on "Task Manager." 4. In the new menu, select the "Users" tab. Your username will be listed here.


3 Answers

Check that internet explorer knows the site is part of local intranet zone. Also, under the settings for intranet zone check that automatic logon is enabled.

like image 182
pipTheGeek Avatar answered Oct 24 '22 09:10

pipTheGeek


Your configuration in IIS is incorrect - turn off anonymous access, then integrated authentication will kick in, assuming you've also set it in your web.config via

<configuration>
    <system.web>
        <authentication mode="Windows" />
    </system.web>
</configuration>
like image 42
blowdart Avatar answered Oct 24 '22 08:10

blowdart


You do not want to change any configuration in we.config file. In IS server manager in site Authentication, only enable Windows authentication and disable other authentications. enter image description here

Windows Authentication need your =windows credentials to authenticate user. That's the reason to prompt the login. To avoid that you need to set your site IP or domain as trustful intranet site in your client browser. For that;

1)Go to Browser settings -> Open proxy settings -> Security -> Local Intranet -> Sites -> Advanced

2)Then add your site domain or IP address enter image description here

Now see whether your issue is ok after clear browser caching.

This work for me. :)

Check this also Receiving login prompt using integrated windows authentication

like image 20
Dhananjaya Avatar answered Oct 24 '22 09:10

Dhananjaya