Подключение к OpenDS с помощью System.DirectoryService - PullRequest
2 голосов
/ 14 сентября 2010

Я пытался найти некоторые учебники о том, как подключиться к OpenDS с использованием типов LDAP .NET, но безрезультатно.Может кто-нибудь указать мне на некоторые статьи / учебные пособия, которые имеют хорошие примеры использования OpenDS в качестве службы каталогов и доступа и работы с ним с использованием C #.

Это то, что я пробовал до сих пор, но всегда получаю неверное имя пользователяОшибка пароля.Я застрял в том, какие учетные данные нужно ввести, или если то, что я пытаюсь сделать, имеет какой-либо смысл.

DirectoryEntry directoryEntry = new DirectoryEntry
                                            {
                                                Path = @"LDAP://SUnnikris-va-d:389/dc=example,dc=com",
                                                Username = "uid=user.0",
                                                Password = "TestPass!",
                                                AuthenticationType = AuthenticationTypes.ServerBind
                                            };

        directoryEntry.RefreshCache();

        DirectoryEntry newUser = directoryEntry.Children.Add("uid=nuser,ou=People,dc=example,dc=com", "person");
        newUser.Properties["objectClass"].Value = new object[] { "top", "person", "organizationalPerson", "inetorgPerson" };
        newUser.Properties["uid"].Value = "nuser";
        newUser.Properties["givenName"].Value = "new";
        newUser.Properties["sn"].Value = "user";
        newUser.Properties["cn"].Value = "new user";
        newUser.Properties["userPassword"].Value = "nuser";
        newUser.CommitChanges();

Ответы [ 2 ]

1 голос
/ 15 сентября 2010

Я полагаю, ваше имя пользователя неверно, вам нужно указать полный путь ldap имени пользователя, т.е. UID = админ, НУ = AdminOU, DC = пример, DC = COM

Вы также можете использовать System.DirectoryServices.AccountManagement для упрощения реализации смотрите здесь -> http://anyrest.wordpress.com/2010/06/28/active-directory-c/

0 голосов
/ 15 сентября 2010

Я понял, OpenDS использует каноническое имя в качестве суперпользователя для администрирования. По сути, проблема была в том, что я использовал учетные данные, вместо идентификатора пользователя я должен был указать это: -

NetworkCredential myCreds = new NetworkCredential("cn=Directory Manager", "TestPass!");
...