HttpContext.Current.User.Identity.Name - null

Я пытаюсь использовать HttpContext.Current.User.Identity.Name, чтобы получить пользовательские данные для входа в Windows из внутренней сети, однако он пуст.

Я попытался изменить режим аутентификации в Web.Config без радости:

  <system.web>
    <authentication mode="Windows" />
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
  </system.web>

Я также слышал, что в свойствах проекта вы должны включить проверку подлинности Windows и отключить анонимную аутентификацию следующим образом:

enter image description here

Но затем я получаю цикл с повторным прямым соединением с сообщением "Эта веб-страница имеет цикл переадресации" в Chrome.

Я также проверил, что на моей машине установлена ​​Windows Authentication:

enter image description here

Любые идеи о том, как исправить это, пожалуйста?

Большое спасибо

+3
источник поделиться
2 ответа

Когда у меня есть:

<authentication mode="Windows"/>
<identity impersonate="true/>

в web.config Я получаю текущего пользователя с помощью

string currUser = System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString();
+7
источник

Изменение настроек веб-сервера проекта на Local IIS вместо IIS Express разрешило проблему для меня, хотя я не уверен, почему это так, если у кого есть дополнительная информация об этом.

  • Щелкните правой кнопкой мыши проект
  • Нажмите "Свойства"
  • Перейдите на вкладку "Веб"
  • В разделе "Серверы" выберите Local IIS в раскрывающемся меню
0
источник

Посмотрите другие вопросы по меткам или Задайте вопрос