Я работаю над приложением 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
Спасибо, если кто-нибудь может дать мне правильное решение.