Пока я использую это:
Код: Выделить всё
private bool Authenticate()
{
using (var context = new PrincipalContext(ContextType.Domain, Environment.GetEnvironmentVariable("USERDNSDOMAIN")))
{
return context.ValidateCredentials(this.Username.Text, this.Password.Text, ContextOptions.Negotiate);
}
}
Основное отличие, которое я обнаружил, заключается в том, что переменная среды LOGONSERVER показывает текущее имя компьютера, а не имя одного из ваших серверов AD. Если я вручную изменю LOGONSERVER на нашем сервере AD, аутентификация будет работать. Однако я думаю, что это не правильное решение.
Переменные среды USERDNSDOMAIN, USERDOMAIN и USERDOMAIN_ROAMINGPROFILE на старых компьютерах с Windows 10 одинаковы, как и на новых компьютерах с Windows 11.
Нужно ли мне изменять свой код для аутентификации?
Подробнее здесь: https://stackoverflow.com/questions/796 ... windows-11
Мобильная версия