Conexión a OpenDS utilizando System.DirectoryService
Pregunta
He estado tratando de encontrar algunos tutoriales sobre cómo conectarse a OpenDS utilizando LDAP tipos de .NET en vano. Me puede punto cualquiera a algunos artículos / tutoriales que tienen buenas muestras sobre el uso de OpenDS como servicio de directorio y acceder y trabajar con él usando C #.
Esto es lo que he probado hasta ahora, pero siempre obtendrá un error nombre de usuario / contraseña no válida. Estoy atascado en qué credenciales necesitan ir en o si lo que estoy tratando de hacer hace ningún sentido en absoluto.
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();
Solución 2
lo he descubierto, OpenDS utiliza el nombre canónico como superusuario para la administración. En esencia, el problema era con las credenciales que estaba usando, en lugar de un fluido que tenía que especificar lo siguiente: -
NetworkCredential myCreds = new NetworkCredential("cn=Directory Manager", "TestPass!");
Otros consejos
Creo que su nombre de usuario es incorrecto que necesita para poner la ruta LDAP completa del nombre de usuario es decir, uid = admin, ou = AdminOU, dc = ejemplo, dc = com
También puede utilizar para System.DirectoryServices.AccountManagement easiser aplicación echar un vistazo aquí -> http://anyrest.wordpress.com/2010/06/28/active-directory-c/