Описание проблемы
Я пытаюсь аутентифицировать пользователей в Active Directory с помощью C# и LDAP. Однако я столкнулся с проблемой, когда имена пользователей, содержащие дефисы (-) не проходят правильную аутентификацию.
Когда запрос.UserName содержит дефис, аутентификация завершается неудачно, и я получаю сообщение об ошибке.
Имя пользователя или пароль неверны.
Я проверил правильность имени пользователя и пароля.
Я использую .NET 8.0 и System.DirectoryServices.AccountManagement v9.0.0.
Фрагмент кода
Вот соответствующая часть моего кода:
using var ctx = new PrincipalContext(ContextType.Domain, setting.LDAPDomain, request.UserName, request.Password);
using var userPrincipal = new UserPrincipal(ctx);
userPrincipal.SamAccountName = request.UserName;
using var search = new PrincipalSearcher(userPrincipal);
user = (User Principal)search.FindOne();
Подробнее здесь: https://stackoverflow.com/questions/793 ... -sharp-lda