protected AbstractAccessControlManager(@NotNull Root root, @NotNull NamePathMapper namePathMapper, @NotNull SecurityProvider securityProvider) { this.root = root; this.workspaceName = root.getContentSession().getWorkspaceName(); this.namePathMapper = namePathMapper; privilegeManager = securityProvider.getConfiguration(PrivilegeConfiguration.class).getPrivilegeManager(root, namePathMapper); config = securityProvider.getConfiguration(AuthorizationConfiguration.class); }
@Test public void testSetPrivilegeConfiguration() { PrivilegeConfiguration pc = Mockito.mock(PrivilegeConfiguration.class); when(pc.getParameters()).thenReturn(PARAMS); securityProvider.setPrivilegeConfiguration(pc); assertSame(pc, securityProvider.getConfiguration(PrivilegeConfiguration.class)); for (SecurityConfiguration sc : securityProvider.getConfigurations()) { if (sc instanceof PrivilegeConfiguration) { assertSame(pc, sc); } } assertEquals(PARAMS, securityProvider.getParameters(PrivilegeConfiguration.NAME)); }
protected AbstractAccessControlManager(@Nonnull Root root, @Nonnull NamePathMapper namePathMapper, @Nonnull SecurityProvider securityProvider) { this.root = root; this.workspaceName = root.getContentSession().getWorkspaceName(); this.namePathMapper = namePathMapper; privilegeManager = securityProvider.getConfiguration(PrivilegeConfiguration.class).getPrivilegeManager(root, namePathMapper); config = securityProvider.getConfiguration(AuthorizationConfiguration.class); }
@Nonnull public PrivilegeManager getPrivilegeManager() { if (privilegeManager == null) { privilegeManager = new PrivilegeManagerDelegator(delegate, getConfig(PrivilegeConfiguration.class) .getPrivilegeManager(delegate.getRoot(), namePathMapper)); } return privilegeManager; }
@NotNull public PrivilegeManager getPrivilegeManager() { if (privilegeManager == null) { privilegeManager = new PrivilegeManagerDelegator(delegate, getConfig(PrivilegeConfiguration.class) .getPrivilegeManager(delegate.getRoot(), namePathMapper)); } return privilegeManager; }
@NotNull public PrivilegeManager getPrivilegeManager() { if (privilegeManager == null) { privilegeManager = new PrivilegeManagerDelegator(delegate, getConfig(PrivilegeConfiguration.class) .getPrivilegeManager(delegate.getRoot(), namePathMapper)); } return privilegeManager; }
@Nonnull @Override public Validator getRootValidator(NodeState before, NodeState after, CommitInfo info) { RestrictionProvider restrictionProvider = getConfig(AuthorizationConfiguration.class).getRestrictionProvider(); Root root = rootProvider.createReadOnlyRoot(before); PrivilegeManager privilegeManager = getConfig(PrivilegeConfiguration.class).getPrivilegeManager(root, NamePathMapper.DEFAULT); PrivilegeBitsProvider privilegeBitsProvider = new PrivilegeBitsProvider(root); return new AccessControlValidator(after, privilegeManager, privilegeBitsProvider, restrictionProvider, treeProvider); }
protected PrivilegeManager getPrivilegeManager(Root root) { return getConfig(PrivilegeConfiguration.class).getPrivilegeManager(root, getNamePathMapper()); }
@NotNull @Override public Validator getRootValidator(NodeState before, NodeState after, CommitInfo info) { RestrictionProvider restrictionProvider = getConfig(AuthorizationConfiguration.class).getRestrictionProvider(); Root root = providerCtx.getRootProvider().createReadOnlyRoot(before); PrivilegeManager privilegeManager = getConfig(PrivilegeConfiguration.class).getPrivilegeManager(root, NamePathMapper.DEFAULT); PrivilegeBitsProvider privilegeBitsProvider = new PrivilegeBitsProvider(root); return new AccessControlValidator(after, privilegeManager, privilegeBitsProvider, restrictionProvider, providerCtx); }
@NotNull @Override public Validator getRootValidator(NodeState before, NodeState after, CommitInfo info) { RestrictionProvider restrictionProvider = getConfig(AuthorizationConfiguration.class).getRestrictionProvider(); Root root = providerCtx.getRootProvider().createReadOnlyRoot(before); PrivilegeManager privilegeManager = getConfig(PrivilegeConfiguration.class).getPrivilegeManager(root, NamePathMapper.DEFAULT); PrivilegeBitsProvider privilegeBitsProvider = new PrivilegeBitsProvider(root); return new AccessControlValidator(after, privilegeManager, privilegeBitsProvider, restrictionProvider, providerCtx); }
when(privilegeConfiguration.getPrivilegeManager(root, getNamePathMapper())).thenReturn(privilegeManager);
copyCustomPrivileges(privilegeConfiguration.getPrivilegeManager(upgradeRoot, NamePathMapper.DEFAULT)); logger.debug("Privilege registration completed.");
copyCustomPrivileges(privilegeConfiguration.getPrivilegeManager(upgradeRoot, NamePathMapper.DEFAULT)); logger.debug("Privilege registration completed.");
@Test public void testAllAggregation() throws Exception { PrivilegeBits all = bitsProvider.getBits(JCR_ALL); PrivilegeManager pMgr = getSecurityProvider().getConfiguration(PrivilegeConfiguration.class).getPrivilegeManager(root, NamePathMapper.DEFAULT); Iterable<Privilege> declaredAggr = Arrays.asList(pMgr.getPrivilege(JCR_ALL).getDeclaredAggregatePrivileges()); String[] allAggregates = Iterables.toArray(Iterables.transform( declaredAggr, new Function<Privilege, String>() { @Override public String apply(@Nullable Privilege privilege) { return checkNotNull(privilege).getName(); } }), String.class); PrivilegeBits all2 = bitsProvider.getBits(allAggregates); assertEquals(all, all2); assertEquals(Collections.singleton(JCR_ALL), bitsProvider.getPrivilegeNames(all2)); PrivilegeBits bits = PrivilegeBits.getInstance(); for (String name : allAggregates) { bits.add(bitsProvider.getBits(name)); } assertEquals(all, bits.unmodifiable()); } }