Получение имени пользователя в приложении mvc без аутентификации и анонимной аутентификации, включенной в IIS

Я пытался прочитать имя пользователя, просматривающего мое приложение MVC. Приложение не имеет никакой аутентификации и размещено в IIS с отключенной аутентификацией Windows и включенной анонимной аутентификацией.

Теперь я хочу убедиться, что когда пользователь просматривает приложение, он / она не видит всплывающее окно для учетных данных пользователя. Итак, я отключил аутентификацию Windows и включил анонимную аутентификацию.

Но я не могу прочитать имя пользователя. Я перепробовал все следующие подходы:

User.Identity.Name
System.Security.Principal.WindowsIdentity.GetCurrent().Name
System.Environment.UserName 

Но так как мой пользователь не аутентифицирован, я не получаю правильные результаты.

До сих пор я достиг того, что я могу прочитать имя пользователя компьютера с помощью следующего кода:

Я читаю IP-адрес со следующим:

Request.UserHostName

И затем, получая имя машины, используя следующее:

IPAddress myIP = IPAddress.Parse(IP);
IPHostEntry GetIPHost = Dns.GetHostEntry(myIP);
List<string> compName = GetIPHost.HostName.ToString().Split('.').ToList();
return compName.First();

Я попытался найти ответы и получил следующее:

/questions/27581324/kak-poluchit-imya-polzovatelya-windows-kogda-identity-impersonatetrue-v-aspnet/27581332#27581332

Но даже это не было моей помощью. Может кто-то указать мне на чтение имени пользователя для приложения MVC без аутентификации с анонимным доступом?

Спасибо,

Судип Арора

2 ответа

Это может быть достигнуто без какой-либо аутентификации

Нет. Почему браузер отправляет имя пользователя посетителя на каждый посещаемый ими сайт?

Это невозможно сделать, так как ваша текущая настройка не запрашивает учетные данные конечного пользователя.

Вы должны переключиться на проверку подлинности с помощью форм или Windows, как минимум.

Другие вопросы по тегам