LdapException: неверный синтаксис DN (34) неверный синтаксис DN - PullRequest
0 голосов
/ 09 сентября 2018

Я пытаюсь настроить приложение .Net Core 2.0, чтобы пользователи могли изменять свои пароли с помощью пакета Novel LDAP . Однако метод LdapConnection.Modify выдает следующую ошибку.

Ошибка: LdapException: неверный синтаксис DN (34) неверный синтаксис DN LdapException: сообщение сервера: 0000208F: NameErr: DSID-03100225, проблема 2006 (BAD_NAME), данные 8349, лучшее соответствие: '(&(objectCategory=Person)(sAMAccountName=*)(memberOf=cn=CaptainPlanet,ou=users,dc=company,dc=com))'

Я знаю, что фильтр в порядке, потому что я смог запустить его в powershell, как показано ниже

Get-ADObject –LDAPFilter "(&(objectCategory=Person)(sAMAccountName=*)(memberOf=cn=CaptainPlanet,ou=users,dc=company,dc=com))"

Вот мой код LDAP

public class DomainController
{
    ... 

    public static void WithLdapConnection(Action<ILdapConnection> actionOnConnectedLdapConnection)
    {
        using (var ldapConnection = new LdapConnection())
        {
            ldapConnection.Connect(_server.Address, _server.Port);
            actionOnConnectedLdapConnection(ldapConnection);
        }
    }

    public static void WithAuthenticatedLdapConnection(Action<ILdapConnection> actionOnAuthenticatedLdapConnection)
    {
        WithLdapConnection(ldapConnection =>
        {
            ldapConnection.Bind(_server.RootUserDn, _server.RootUserPassword);
            actionOnAuthenticatedLdapConnection(ldapConnection);
        });
    }
}

А вот и метод вызова

public class UpdateUserCommand : ICommand
{
    ...

    public void UpdateActiveDirectory(string newPassword)
    {
        DomainController.WithAuthenticatedLdapConnection(lc =>
        {
            LdapAttribute attributePassword = new LdapAttribute( "userPassword", newPassword);
            lc.Modify( modifyDN, new LdapModification(
                LdapModification.REPLACE, attributePassword) );
        });
        _logger.LogInformation("AD Account: Updated");
    }

    ...
}

Может кто-нибудь сказать мне, что здесь происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...