Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

User.Identity.Name with windows authentication

Tags:

asp.net

I have a very simple partial view in my header called AccountInfoPanel. It only has one line:

Welcome: @HttpContext.Current.User.Identity.Name

And in my Web.Config I have

<authentication mode="Windows" />

But the identity name is always empty. If I debug through VS 2012, and break on the index action, I see it is empty.

If I run it through IIS with Windows Authentication Enabled and Anonymous Authentication diabled, I get a challenge. So I try to plug in My account or a test1 and test2 account. It comes back and says:

HTTP Error 401.1 - Unauthorized You do not have permission to view this directory or page using the credentials that you supplied.

I also tried setting Impersonation to true and get the same response from the challenge. Does anyone know how to set this up?

And if all the setup has to done in IIS, how do you debug your code within Visual Studio?

One other question. My boss seems to think you don't even need a login box. IE would just know who you are. And you could "run as" in IE with a different account.

like image 400
Sam Avatar asked Aug 16 '13 14:08

Sam


2 Answers

Check one of possible issues on my checklist

http://netpl.blogspot.com/2012/06/iis-75-integrated-security-with-no.html

In short:

First, make sure that Anonymous Authentication is turned OFF for the site:

Second, enable integrated security in Interner Explorer (Options/Advanced and checkin the “Enable Integrated Windows Authentication” option).

Third, add your website to Local Intranet zone and select at least “Automatic logon only in Intranet Zone” option under Options/Security Settings/Local intranet/Custom level).

Fourth, make sure the user and application server are in the same domain.

like image 174
Wiktor Zychla Avatar answered Sep 21 '22 05:09

Wiktor Zychla


To solve the problem, you have to enable the Windows Authentication feature. Follow the below steps:

-Click Start, and then click Control Panel. Open the Programs group. -Under Programs and -Features, click Turn Windows Features on or off. -Expand the item labeled Internet Information Services. -Expand the item labeled World Wide Web Services. -Expand the item Security -> Make sure to select Windows Authentication

Also you need to disable Anonymous Authentication from the IIS as follows: -Click on your application in IIS -Double click Authentication under IIS group -Click on Anonymous Authentication -Click on Disable on the right side under Actions. Hope this helps

like image 43
A Ghazal Avatar answered Sep 20 '22 05:09

A Ghazal