Estoy tratando de duplicar un diseño/esquema LDAP desde el campo que mi aplicación tiene que tratar, y estoy tratando de recrear + pruébelo a través de una prueba automática con el servidor LDAP UnboundID integrable.Crear un esquema personalizado/agregar al esquema existente para un servidor LDAP UnboundID en memoria
La situación que tiene que tratar es la propiedad 'memberOf' del esquema del usuario como Active Directory ... pero no estoy muy seguro de cómo agregar una clase 'user' a este ldap en la memoria.
1) ¿Es esto posible? 2) ¿Hay una mejor estrategia? 3) ¿Y qué debo hacer en particular? Soy un novato de LDAP.
A continuación se muestra mi código que no funciona.
Gracias, Mike Kohout
public class TestOpenLdap2
{
private InMemoryDirectoryServer server;
@Before
public void start() throws Exception
{
InMemoryDirectoryServerConfig config = new InMemoryDirectoryServerConfig("dc=com");
config.addAdditionalBindCredentials("cn=admin,ou=People,dc=example,dc=com", "cred");
InMemoryListenerConfig listenerConfig = new InMemoryListenerConfig("test", null, 33390, null, null, null);
config.setListenerConfigs(listenerConfig);
server = new InMemoryDirectoryServer(config);
server.startListening();
}
@Test
public void testMemberOf() throws Exception
{
addEntry("dn: dc=com", "objectClass: top", "objectClass: domain", "dc: com");
ObjectClassDefinition oc = new ObjectClassDefinition("10.19.19.78", new String[]{"user"}, "", false, new String[]{"TOP"},
ObjectClassType.STRUCTURAL, new String[]{"memberOf"},
new String[]{}, new HashMap());
addEntry("dn: cn=schema2,dc=com", "objectClass: top", "objectClass: ldapSubEntry", "objectClass: subschema", "cn: schema2",
"objectClasses: " + oc.toString());
addEntry("dn: dc=people,dc=com", "objectClass: top", "objectClass: domain", "dc: people");
addEntry("dn: dc=groups,dc=com", "objectClass: top", "objectClass: domain", "dc: groups");
addEntry("dn: cn=test-group,dc=groups,dc=com", "objectClass: groupOfUniqueNames", "cn: test group");
addEntry("dn: cn=Testy Tester,dc=people,dc=com", "objectClass: Person", "objectClass: user", "objectClass: organizationalPerson", "sn: Tester", "cn: Testy Tester", "memberOf: cn=test-group,dc=groups,dc=com");
}
public void addEntry(String... args) throws LDIFException, LDAPException
{
LDAPResult result = server.add(args);
assert (result.getResultCode().intValue() == 0);
System.out.println("added entry:" + Arrays.asList(args));
}
Obtengo un 'No se puede agregar una entrada con un DN que sea igual o subordinado al subentry del subesquema DN 'cn = schema'' error cuando intento esto, sdk v.2.3.4 – SelimOber