ASP.Net Core 2.2 MVC Проверка подлинности Windows и имя пользователя Windows в IIS - PullRequest
0 голосов
/ 18 февраля 2019

Я работаю над приложением ASP.Net core 2.2 MVC.Использование аутентификации Windows для аутентификации пользователя, и я хочу отобразить зарегистрированного пользователя на моей домашней странице после успешного входа в систему.

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

Но когда я размещаюсь в IIS, я не получаю имя пользователя, вместо этого получаю

ApplicationPoolname, Machinename

       ViewBag.username = Environment.UserName;
        ViewBag.username = Environment.GetEnvironmentVariable("USERNAME");
        ViewBag.username = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
        ViewBag.username = User.FindFirst(ClaimTypes.NameIdentifier).ToString();

приведенный ниже код содержит неверный запрос 500 IHttpContextAccessor

Когда я использую

ViewBag.username = this.User.Identity.Name;

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

Так что пока ничего не работает, и любое решение для этого больше копается во всей документацииот MS, а также на форумах и решения пока нет.

уже проверил следующие темы

Asp.Net Core 2.1 Windows Auth.HttpContext.User.Identity.Name не работает в IIS

Спасибо, если кто-нибудь может дать мне правильное решение.

1 Ответ

0 голосов
/ 31 июля 2019

"Ошибка переменной среды с конфиденциальной информацией передается при передаче имени пользователя."является распространенной ошибкой, поскольку она не отображает точную ошибку в рабочей средеотключить анонимную аутентификацию.

...