Получение имени пользователя Windows клиента, просматривающего my asp.net веб-приложение

Я знаю, что есть и другие подобные вопросы, но ни один из ответов не помог мне.
У меня есть ASP.NET веб-приложение, размещенное в IIS на сервере.
Сервер имеет операционную систему windows с именем пользователя windows, предположим: ServerDomain / ServerUserName.
У меня есть главная.страница ASPX. Страница имеет тег ссылки:

<a href="#" class="linkbutton" onclick="resendHandle(this)">Resend</a> 

Страница имеет тег скрипта и там у меня есть функция скрипта Java:

 function resendHandle(el) {
      var clientWindowsName = ?
      alert(clientWindowsName );
      setCurrentUser(clientWindowsName));
      submit();
 }

Теперь предположим, что клиент, который также имеет операционную систему windows с именем пользователя Windows: ClientXDomain/ClientXUserName просматривает мой сайт.
После того, как он нажимает на ссылку Resend, управление течет к функции скрипта Java resendHandle и после «submit» к методу Resend в Main.aspx.cs (за файлом кода). В этом методе я хочу получить имя пользователя клиента windows, которое является: ClientXDomain / ClientXUserName. Очевидно, aspx.cs-это код сервера, поэтому если я проверю там удостоверение пользователя в этом методе, я получу: ServerDomain/ServerUserName. Но, как я уже упоминал, я хочу получить: ClientXDomain/ClientXUserName в этом методе.
ClientWindowsName доступен из серверного метода с помощью setCurrentUser, поэтому для меня нет проблем с передачей значения переменной clientWindowsName (в пределах функции скрипта java resendHandle) к размеру сервера.
Проблема в том, что

alert(clientWindowsName );

всегда возвращает NULL for me for:

var clientWindowsName = '<%=Page.User.Identity.Name%>';

и для других вариантов я пробовал.
Только для:

var clientWindowsName = '<%=Request.LogonUserIdentity.Name.ToString()%>';

он предупреждает NT AUTHORITYIUSR.

но ни один из вариантов не дает мне желаемое имя пользователя: ClientXDomain/ClientXUserName.

Итак, как мне его получить? Обратите внимание, что я пытаюсь получить значение в функции сценария Java, возможно, я должен попытаться сделать вне тега сценария. Спасибо!

Изменить 01: моя веб-конфигурация содержит:

 <authentication mode="Windows"/>

3 ответа

  1. Включите олицетворение, которое поможет вам получить логинированное удостоверение пользователя .
    в web.config или он может быть установлен на сервере IIS проверьте, как установить его .Но именно этого вам не хватает .

     <identity impersonate="true" />
    

    Привет вам нужно установить олицетворение, а также таким образом, если пользователь находится в active directory, то его удостоверение может быть передано в код в противном случае вы получите удостоверение на учетной записи, под которой он размещен в IIS.

    https://msdn.microsoft.com/en-us/library/aa292118 (v=против 71).aspx