throws RepositoryException {
String workspaceName = systemSession.getWorkspace().getName();
AccessControlProvider prov;
Map props;
if (config != null && config.getAccessControlProviderConfig() != null) {
BeanConfig bc = config.getAccessControlProviderConfig();
prov = bc.newInstance(AccessControlProvider.class);
props = bc.getParameters();
} else {
log.debug("No ac-provider configuration for workspace " + workspaceName + " -> using defaults.");
if (workspaceName.equals(secWorkspaceName) && !workspaceName.equals(defaultWorkspaceName)) {
// UserAccessControlProvider is designed to work with an extra
// workspace storing user and groups. therefore avoid returning