CurrentPrincipal.Identity.Name пусто

Я пытаюсь использовать System.Threading.Thread.CurrentPrincipal.Identity.Name чтобы получить логин того, кто использует приложение ASP.NET. Я не получаю никаких ошибок сборки, но он возвращает пустое значение. Я использую IIS 6, и вот мои настройки аутентификации:

  • Анонимная аутентификация: отключена
  • Олицетворение ASP.NET: отключено
  • Базовая аутентификация: включена
  • Аутентификация Windows: включена

У меня нет настроек авторизации в моем Web.config файл тоже. Вот метод, который я использую, чтобы попытаться получить логин:

    public void SetUser()
    {
       string login = System.Threading.Thread.CurrentPrincipal.Identity.Name;
    }

У меня есть точка останова, чтобы проверить значение, и он говорит login = "",

Как я могу получить логин?

РЕДАКТИРОВАТЬ

Вот моя картинка аутентификации:

2 ответа

Thread.CurrentPrincipal = new WindowsPrincipal(WindowsIdentity.GetCurrent());

Работал на меня. У меня была такая же проблема.

Я смог это исправить. В свойствах моего проекта я использовал IIS express, поэтому мое приложение не соответствовало моему фактическому IIS. Я снял этот флажок, создал виртуальный каталог и отключил всю аутентификацию, кроме аутентификации Windows, и теперь она работает.

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