Подключение к открытию с использованием System.DirectoryService
Вопрос
Я пытался найти несколько учебных пособий о том, как подключиться к открытию, используя типы 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
Я понял это, Opends использует каноническое название в качестве суперпользователя для администрирования. По сути, проблема заключалась в учетных данных, которые я использовал, вместо UID мне пришлось указать это:-
NetworkCredential myCreds = new NetworkCredential("cn=Directory Manager", "TestPass!");
Другие советы
Вы также можете использовать System.DirectoryServices.Accountmanagement для реализации Easiser. Посмотрите здесь -> http://anyrest.wordpress.com/2010/06/28/active-directory-c/