Hi,
I am using an embedded DirectoryService instance from trunk. If I start the
service and inject my test data with ACIs they work correctly. E.g. users
can access the data allowed by the ACIs. If I stop the server and start it
again they can't. If I connect to the server as the admin user I can see
that my data is still there and the subEntries are visible they just don't
seem to be being interpreted.
I remember seeing a message on these forums that this was a bug in 1.5.7 but
had been fixed on trunk. I am using the following code to start the service:
InstanceLayout instanceLayout = new InstanceLayout(workingDir);
instanceLayout.mkdirs();
initSchemaPartition(instanceLayout.getPartitionsDirectory());
directoryService = new DefaultDirectoryService();
directoryService.setSchemaManager(schemaManager);
directoryService.setInstanceId(instanceId);
directoryService.setInstanceLayout(instanceLayout);
directoryService.setAccessControlEnabled(true);
directoryService.setAllowAnonymousAccess(false);
Partition systemPartition = createPartition("system",
ServerDNConstants.SYSTEM_DN);
directoryService.setSystemPartition(systemPartition);
directoryService.setDenormalizeOpAttrsEnabled(true);
Partition ratPartition = createPartition(partitionId, partitionDn);
addIndex(ratPartition, "objectClass", "ou", "uid");
SchemaPartition schemaPartition =
directoryService.getSchemaService().getSchemaPartition();
schemaPartition.setWrappedPartition( schemaLdifPartition );
schemaPartition.setSchemaManager( schemaManager );
directoryService.startup();
directoryService.addPartition(ratPartition);
Is there something more I need to do to reload the ACI cache?
Thanks,
Mike Adamson