Я унаследовал старое веб-приложение asp.net.Часть процесса входа в систему предназначена для сбора имени пользователя Windows (а не имени пользователя процесса).Раньше это работало (много лет назад), но новая компиляция системы возвращает имя / имя пользователя пула приложений вместо имени пользователя Windows.
Имя пользователя собирается до проверки подлинности веб-сайтом, первоначально используя HttpContext.Current.User.Identity.Name Я испробовал все другие варианты, которые были предложены без изменений в результатах.
string loginName;
loginName = Environment.UserName;
loginName = System.Windows.Forms.SystemInformation.UserName;
loginName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
loginName = HttpContext.Current.User.Identity.Name;
loginName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
loginName = System.Windows.Forms.SystemInformation.UserName;
loginName = System.DirectoryServices.AccountManagement.UserPrincipal.Current.SamAccountName;
loginName = System.DirectoryServices.AccountManagement.UserPrincipal.Current.UserPrincipalName;
Я пробовал их по одному (не все вместе) и только в целевой среде.когда-либо получил имя пула приложений или имя пользователя пула приложений.Я пробовал каждую комбинацию аутентификации в IIS, единственное, что имеет значение, - это олицетворение ASP.NET, которое меняется с имени пула приложений на имя пользователя олицетворения.
На моем локальном ПК, запущенном из Visual Studio,все они работают, чтобы вернуть окна, зарегистрированные в имени пользователя.
Я довольно новичок в веб-приложениях asp.net и не знаю, что еще попробовать.