Я работаю над авторизацией пользователей, использующих соединение LDAP.Ниже приведен небольшой фрагмент кода
string principalUserName = "";
NetworkCredential NC = new NetworkCredential(principalUserName, password);
LdapConnection.Bind(NC);`
Приведенный выше код должен был указать причину ошибки для пустой строки, но это не так.Таким образом, до тех пор, пока principalUserName
не заполнено, оно будет авторизовать кого угодно, независимо от пароля (следовательно, LdapConnection.Bind(NC)
не выдаст никакой ошибки).
Соответствующее значение PrincipalUsername имеет формат, подобный
CN=user1,OU=PublicOrganization
Мой вопрос: почему он авторизует пустое имя пользователя?