Package org.apache.jackrabbit.core.security.authorization

Examples of org.apache.jackrabbit.core.security.authorization.CompiledPermissions


    public boolean canAccessRoot(Set<Principal> principals) throws RepositoryException {
        checkInitialized();
        if (isAdminOrSystem(principals)) {
            return true;
        } else {
            CompiledPermissions cp = new AclPermissions(principals, false);
            return cp.grants(PathFactoryImpl.getInstance().getRootPath(), Permission.READ);
        }
    }
View Full Code Here


    public boolean canAccessRoot(Set<Principal> principals) throws RepositoryException {
        checkInitialized();
        if (isAdminOrSystem(principals)) {
            return true;
        } else {
            CompiledPermissions cp = new CompiledPermissionImpl(principals, false);
            return cp.grants(PathFactoryImpl.getInstance().getRootPath(), Permission.READ);
        }
    }
View Full Code Here

     */
    public Privilege[] getPrivileges(String absPath, Set<Principal> principals) throws PathNotFoundException, RepositoryException {
        checkInitialized();
        checkValidNodePath(absPath);
        checkPermission(absPath, Permission.READ_AC);
        CompiledPermissions perms = acProvider.compilePermissions(principals);
        try {
            int bits = perms.getPrivileges(resolver.getQPath(absPath));
            return (bits == PrivilegeRegistry.NO_PRIVILEGE) ?
                    new Privilege[0] :
                    privilegeRegistry.getPrivileges(bits);
        } finally {
            perms.close();
        }
    }
View Full Code Here

            }
        }));

        Path rootPath = ((SessionImpl) s).getQPath("/");
        for (Set<Principal> principals : principalSets) {
            CompiledPermissions cp = provider.compilePermissions(principals);

            assertFalse(cp.canReadAll());
            assertFalse(cp.grants(rootPath, Permission.READ));
            assertEquals(PrivilegeRegistry.NO_PRIVILEGE, cp.getPrivileges(rootPath));
            assertSame(CompiledPermissions.NO_PERMISSION, cp);
        }
    }
View Full Code Here

        Principal testPrincipal = getTestPrincipal();
        final User u = getUserManager(superuser).createUser(testPrincipal.getName(), "pw");
        save(superuser);

        Path rootPath = ((SessionImpl) s).getQPath("/");
        CompiledPermissions cp = null;
        try {
            Set<Principal> principals = Collections.singleton(u.getPrincipal());
            cp = provider.compilePermissions(principals);

            assertTrue(cp.canReadAll());
            assertTrue(cp.grants(rootPath, Permission.READ));
            assertNotSame(CompiledPermissions.NO_PERMISSION, cp);
        } finally {

            // remove the user to assert that the path doesn't point to an
            // existing node any more -> userNode cannot be resolved any more -> permissions denied.
            u.remove();
            save(superuser);

            if (cp != null) {
                assertFalse(cp.canReadAll());
                assertFalse(cp.grants(rootPath, Permission.READ));
                assertEquals(PrivilegeRegistry.NO_PRIVILEGE, cp.getPrivileges(rootPath));
            }
        }
    }
View Full Code Here

    public void testAnonymousDefaultAccess() throws Exception {
        Set<Principal> anonymousPrincipals = getAnonymousPrincipals();

        assertTrue(provider.canAccessRoot(anonymousPrincipals));

        CompiledPermissions cp = provider.compilePermissions(anonymousPrincipals);
        assertTrue(cp.canReadAll());
        assertFalse(CompiledPermissions.NO_PERMISSION.equals(cp));
    }
View Full Code Here

            Set<Principal> anonymousPrincipals = getAnonymousPrincipals();

            assertFalse(p2.canAccessRoot(anonymousPrincipals));

            CompiledPermissions cp = p2.compilePermissions(anonymousPrincipals);
            try {
                assertEquals(CompiledPermissions.NO_PERMISSION, cp);
                assertFalse(cp.canReadAll());
                assertFalse(cp.grants(((NodeImpl) s.getRootNode()).getPrimaryPath(), Permission.READ));
            } finally {
                cp.close();
            }
        } finally {
            p2.close();
        }
    }
View Full Code Here

            };
            Set<Principal> anonymousPrincipals = Collections.singleton(princ);

            assertFalse(p2.canAccessRoot(anonymousPrincipals));

            CompiledPermissions cp = p2.compilePermissions(anonymousPrincipals);
            try {
                assertEquals(CompiledPermissions.NO_PERMISSION, cp);
                assertFalse(cp.canReadAll());
                assertFalse(cp.grants(((NodeImpl) s.getRootNode()).getPrimaryPath(), Permission.READ));
            } finally {
                cp.close();
            }
        } finally {
            p2.close();
        }
    }
View Full Code Here

            log.debug("No privileges passed -> allowed.");
            return true;
        } else {
            int privs = PrivilegeRegistry.getBits(privileges);
            Path p = resolver.getQPath(absPath);
            CompiledPermissions perms = acProvider.compilePermissions(principals);
            try {
                return (perms.getPrivileges(p) | ~privs) == -1;
            } finally {
                perms.close();
            }
        }
    }
View Full Code Here

    public Privilege[] getPrivileges(String absPath, Set<Principal> principals) throws PathNotFoundException, RepositoryException {
        checkInitialized();
        checkValidNodePath(absPath);
        checkPermission(absPath, Permission.READ_AC);

        CompiledPermissions perms = acProvider.compilePermissions(principals);
        try {
            int bits = perms.getPrivileges(resolver.getQPath(absPath));
            return (bits == PrivilegeRegistry.NO_PRIVILEGE) ?
                    new Privilege[0] :
                    privilegeRegistry.getPrivileges(bits);
        } finally {
            perms.close();
        }
    }
View Full Code Here

TOP

Related Classes of org.apache.jackrabbit.core.security.authorization.CompiledPermissions

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.