Package com.adito.policyframework

Examples of com.adito.policyframework.Policy


    public void checkResourceAccessViaRole() throws Exception {
        User user = createAccount();
        Role role = createRole();
        user = updateAccountRoles(user, Collections.singleton(role));
        Realm realm = getDefaultRealm();
        Policy policy = createPolicy(realm);
        T resource = createResource();
        getPolicyService().attachResourceToPolicy(resource, policy, 0, realm);
       
        assertFalse("User should not have access", PolicyDatabaseFactory.getInstance().isPrincipalAllowed(user, resource, false));
        getPolicyService().grantPolicyToPrincipal(policy, role);
        assertTrue("User should have access", PolicyDatabaseFactory.getInstance().isPrincipalAllowed(user, resource, false));
        getPolicyService().revokePolicyFromPrincipal(policy, role);
        assertFalse("User should not have access", PolicyDatabaseFactory.getInstance().isPrincipalAllowed(user, resource, false));
       
        deleteResource(resource);
        getPolicyService().deletePolicy(policy.getResourceId());
        user = updateAccountRoles(user, Collections.<Role>emptyList());
        deleteRole(role);
        deleteAccount(user);
    }
View Full Code Here


    public void checkAllAccessRightsViaRole() throws Exception {
        User user = createAccount();
        Role role = createRole();
        user = updateAccountRoles(user, Collections.singleton(role));
        Realm realm = getDefaultRealm();
        Policy policy = createPolicy(realm);
        T resource = createResource();
        getPolicyService().attachResourceToPolicy(resource, policy, 0, realm);
       
        getPolicyService().grantPolicyToPrincipal(policy, role);
        AccessRights accessRights = createAllAccessRights(getResourceType().getPermissionClass());
        PropertyList selectedPolicies = PropertyList.createFromArray(new int[] {policy.getResourceId()});
        PolicyDatabaseFactory.getInstance().attachResourceToPolicyList(accessRights, selectedPolicies, getSessionInfo());
       
        assertEquals("The newly created and default.", getPolicyService().getPermittingAccessRights(null, null, null, user).size(), getDefaultAccessRightCount() + 1);
        Permission[] permissions = new Permission[] {PolicyConstants.PERM_CREATE_EDIT_AND_ASSIGN, PolicyConstants.PERM_DELETE};
        assertTrue("The permissions should be permitted.", getPolicyService().isPermitted(getResourceType(), permissions, user, false));
       
        PolicyDatabaseFactory.getInstance().detachResourceFromPolicyList(accessRights, getSessionInfo());
        getPolicyService().deleteAccessRights(accessRights.getResourceId());
        deleteResource(resource);
        getPolicyService().deletePolicy(policy.getResourceId());
        user = updateAccountRoles(user, Collections.<Role>emptyList());
        deleteRole(role);
        deleteAccount(user);
    }
View Full Code Here

    public void checkNoAccessRightsViaRole() throws Exception {
        User user = createAccount();
        Role role = createRole();
        user = updateAccountRoles(user, Collections.singleton(role));
        Realm realm = getDefaultRealm();
        Policy policy = createPolicy(realm);
        T resource = createResource();
        getPolicyService().attachResourceToPolicy(resource, policy, 0, realm);
       
        getPolicyService().grantPolicyToPrincipal(policy, role);
        AccessRights accessRights = createAllAccessRights(getResourceType().getPermissionClass());
        PropertyList selectedPolicies = PropertyList.createFromArray(new int[] {policy.getResourceId()});
        PolicyDatabaseFactory.getInstance().attachResourceToPolicyList(accessRights, selectedPolicies, getSessionInfo());
       
        Permission[] permissions = new Permission[] {};
        assertFalse("The permissions should not be permitted.", getPolicyService().isPermitted(getResourceType(), permissions, user, false));
       
        PolicyDatabaseFactory.getInstance().detachResourceFromPolicyList(accessRights, getSessionInfo());
        getPolicyService().deleteAccessRights(accessRights.getResourceId());
        deleteResource(resource);
        getPolicyService().deletePolicy(policy.getResourceId());
        user = updateAccountRoles(user, Collections.<Role>emptyList());
        deleteRole(role);
        deleteAccount(user);
    }
View Full Code Here

    public void checkDeleteAccessRightsViaRole() throws Exception {
        User user = createAccount();
        Role role = createRole();
        user = updateAccountRoles(user, Collections.singleton(role));
        Realm realm = getDefaultRealm();
        Policy policy = createPolicy(realm);
        T resource = createResource();
        getPolicyService().attachResourceToPolicy(resource, policy, 0, realm);
       
        getPolicyService().grantPolicyToPrincipal(policy, role);
        AccessRights accessRights = createDeleteAccessRights(getResourceType().getPermissionClass());
        PropertyList selectedPolicies = PropertyList.createFromArray(new int[] {policy.getResourceId()});
        PolicyDatabaseFactory.getInstance().attachResourceToPolicyList(accessRights, selectedPolicies, getSessionInfo());
       
        Permission[] permissions = new Permission[] {PolicyConstants.PERM_DELETE};
        assertTrue("The permissions should be permitted.", getPolicyService().isPermitted(getResourceType(), permissions, user, false));
        permissions = new Permission[] {PolicyConstants.PERM_CREATE_EDIT_AND_ASSIGN};
        assertFalse("The permissions should be permitted.", getPolicyService().isPermitted(getResourceType(), permissions, user, false));
        permissions = new Permission[] {PolicyConstants.PERM_EDIT_AND_ASSIGN};
        assertFalse("The permissions should be permitted.", getPolicyService().isPermitted(getResourceType(), permissions, user, false));
        permissions = new Permission[] {PolicyConstants.PERM_ASSIGN};
        assertFalse("The permissions should be permitted.", getPolicyService().isPermitted(getResourceType(), permissions, user, false));
       
        PolicyDatabaseFactory.getInstance().detachResourceFromPolicyList(accessRights, getSessionInfo());
        getPolicyService().deleteAccessRights(accessRights.getResourceId());
        deleteResource(resource);
        getPolicyService().deletePolicy(policy.getResourceId());
        user = updateAccountRoles(user, Collections.<Role>emptyList());
        deleteRole(role);
        deleteAccount(user);
    }
View Full Code Here

    public void checkCreateEditAssignAssignAccessRightsViaRole() throws Exception {
        User user = createAccount();
        Role role = createRole();
        user = updateAccountRoles(user, Collections.singleton(role));
        Realm realm = getDefaultRealm();
        Policy policy = createPolicy(realm);
        T resource = createResource();
        getPolicyService().attachResourceToPolicy(resource, policy, 0, realm);
       
        getPolicyService().grantPolicyToPrincipal(policy, role);
        AccessRights accessRights = createCreateEditAssignAccessRights(getResourceType().getPermissionClass());
        PropertyList selectedPolicies = PropertyList.createFromArray(new int[] {policy.getResourceId()});
        PolicyDatabaseFactory.getInstance().attachResourceToPolicyList(accessRights, selectedPolicies, getSessionInfo());
       
        Permission[] permissions = new Permission[] {PolicyConstants.PERM_CREATE_EDIT_AND_ASSIGN};
        assertTrue("The permissions should be permitted.", getPolicyService().isPermitted(getResourceType(), permissions, user, false));
        permissions = new Permission[] {PolicyConstants.PERM_DELETE};
        assertFalse("The permissions should be permitted.", getPolicyService().isPermitted(getResourceType(), permissions, user, false));
        permissions = new Permission[] {PolicyConstants.PERM_EDIT_AND_ASSIGN};
        assertFalse("The permissions should be permitted.", getPolicyService().isPermitted(getResourceType(), permissions, user, false));
        permissions = new Permission[] {PolicyConstants.PERM_ASSIGN};
        assertFalse("The permissions should be permitted.", getPolicyService().isPermitted(getResourceType(), permissions, user, false));
       
        PolicyDatabaseFactory.getInstance().detachResourceFromPolicyList(accessRights, getSessionInfo());
        getPolicyService().deleteAccessRights(accessRights.getResourceId());
        deleteResource(resource);
        getPolicyService().deletePolicy(policy.getResourceId());
        user = updateAccountRoles(user, Collections.<Role>emptyList());
        deleteRole(role);
        deleteAccount(user);
    }
View Full Code Here

    public void checkEditAssignAccessRightsViaRole() throws Exception {
        User user = createAccount();
        Role role = createRole();
        user = updateAccountRoles(user, Collections.singleton(role));
        Realm realm = getDefaultRealm();
        Policy policy = createPolicy(realm);
        T resource = createResource();
        getPolicyService().attachResourceToPolicy(resource, policy, 0, realm);
       
        getPolicyService().grantPolicyToPrincipal(policy, role);
        AccessRights accessRights = createEditAssignAccessRights(getResourceType().getPermissionClass());
        PropertyList selectedPolicies = PropertyList.createFromArray(new int[] {policy.getResourceId()});
        PolicyDatabaseFactory.getInstance().attachResourceToPolicyList(accessRights, selectedPolicies, getSessionInfo());
       
        Permission[] permissions = new Permission[] {PolicyConstants.PERM_EDIT_AND_ASSIGN};
        assertTrue("The permissions should be permitted.", getPolicyService().isPermitted(getResourceType(), permissions, user, false));
        permissions = new Permission[] {PolicyConstants.PERM_DELETE};
        assertFalse("The permissions should be permitted.", getPolicyService().isPermitted(getResourceType(), permissions, user, false));
        permissions = new Permission[] {PolicyConstants.PERM_CREATE_EDIT_AND_ASSIGN};
        assertFalse("The permissions should be permitted.", getPolicyService().isPermitted(getResourceType(), permissions, user, false));
        permissions = new Permission[] {PolicyConstants.PERM_ASSIGN};
        assertFalse("The permissions should be permitted.", getPolicyService().isPermitted(getResourceType(), permissions, user, false));
       
        PolicyDatabaseFactory.getInstance().detachResourceFromPolicyList(accessRights, getSessionInfo());
        getPolicyService().deleteAccessRights(accessRights.getResourceId());
        deleteResource(resource);
        getPolicyService().deletePolicy(policy.getResourceId());
        user = updateAccountRoles(user, Collections.<Role>emptyList());
        deleteRole(role);
        deleteAccount(user);
    }
View Full Code Here

    public void checkAssignAccessRightsViaRole() throws Exception {
        User user = createAccount();
        Role role = createRole();
        user = updateAccountRoles(user, Collections.singleton(role));
        Realm realm = getDefaultRealm();
        Policy policy = createPolicy(realm);
        T resource = createResource();
        getPolicyService().attachResourceToPolicy(resource, policy, 0, realm);
       
        getPolicyService().grantPolicyToPrincipal(policy, role);
        AccessRights accessRights = createAssignAccessRights(getResourceType().getPermissionClass());
        PropertyList selectedPolicies = PropertyList.createFromArray(new int[] {policy.getResourceId()});
        PolicyDatabaseFactory.getInstance().attachResourceToPolicyList(accessRights, selectedPolicies, getSessionInfo());
       
        Permission[] permissions = new Permission[] {PolicyConstants.PERM_ASSIGN};
        assertTrue("The permissions should be permitted.", getPolicyService().isPermitted(getResourceType(), permissions, user, false));
        permissions = new Permission[] {PolicyConstants.PERM_DELETE};
        assertFalse("The permissions should be permitted.", getPolicyService().isPermitted(getResourceType(), permissions, user, false));
        permissions = new Permission[] {PolicyConstants.PERM_CREATE_EDIT_AND_ASSIGN};
        assertFalse("The permissions should be permitted.", getPolicyService().isPermitted(getResourceType(), permissions, user, false));
        permissions = new Permission[] {PolicyConstants.PERM_EDIT_AND_ASSIGN};
        assertFalse("The permissions should be permitted.", getPolicyService().isPermitted(getResourceType(), permissions, user, false));
       
        PolicyDatabaseFactory.getInstance().detachResourceFromPolicyList(accessRights, getSessionInfo());
        getPolicyService().deleteAccessRights(accessRights.getResourceId());
        deleteResource(resource);
        getPolicyService().deletePolicy(policy.getResourceId());
        user = updateAccountRoles(user, Collections.<Role>emptyList());
        deleteRole(role);
        deleteAccount(user);
    }
View Full Code Here

     * @throws Exception
     */
    @Test
    public void testFavorites() throws Exception{
        Realm realm = getDefaultRealm();
        Policy policy = createPolicy(realm);
        T resource = createResource();
        User user = createAccount();
        PropertyList selectedPolicies = PropertyList.createFromArray(new int[] {policy.getResourceId()});
        PolicyDatabaseFactory.getInstance().attachResourceToPolicyList(resource, selectedPolicies, getSessionInfo());
        getPolicyService().grantPolicyToPrincipal(policy, user);
       
        assertEquals("There should be no favorites", 0, SystemDatabaseFactory.getInstance().getFavorites(resource.getResourceType().getResourceTypeId(), user).size());
        SystemDatabaseFactory.getInstance().addFavorite(resource.getResourceType().getResourceTypeId(), resource.getResourceId(), user.getPrincipalName());
        assertEquals("There should now be one favorites", 1, SystemDatabaseFactory.getInstance().getFavorites(resource.getResourceType().getResourceTypeId(), user).size());
       
        Favorite favorite = SystemDatabaseFactory.getInstance().getFavorite(resource.getResourceType().getResourceTypeId(), user, resource.getResourceId());
        assertEquals("The favorite and resource id should match.", resource.getResourceId(), favorite.getFavoriteKey());
        assertEquals("The favorite username should match the users principle name.", user.getPrincipalName(), favorite.getUsername());
        assertEquals("The favorite type id and resource type id should match.", resource.getResourceType().getResourceTypeId(), favorite.getType());
       
        SystemDatabaseFactory.getInstance().removeFavorite(resource.getResourceType().getResourceTypeId(), resource.getResourceId(), user.getPrincipalName());
        assertEquals("There should be no favorites", 0, SystemDatabaseFactory.getInstance().getFavorites(resource.getResourceType().getResourceTypeId(), user).size());
       
        getPolicyService().revokePolicyFromPrincipal(policy, user);
        PolicyDatabaseFactory.getInstance().detachResourceFromPolicyList(resource, getSessionInfo());
        deleteResource(resource);
        getResource(resource);
        getPolicyService().deletePolicy(policy.getResourceId());
    }
View Full Code Here

        List<WizardActionStatus> actionStatus = new ArrayList<WizardActionStatus>();
        AbstractWizardSequence seq = getWizardSequence(request);
        String policyName = (String) seq.getAttribute(PolicyDetailsForm.ATTR_RESOURCE_NAME, null);
        String policyDescription = (String) seq.getAttribute(PolicyDetailsForm.ATTR_RESOURCE_DESCRIPTION, null);
        try {
            Policy pol =PolicyDatabaseFactory.getInstance().createPolicy(policyName, policyDescription, Policy.TYPE_NORMAL, getSessionInfo(request).getUser().getRealm().getRealmID());
    
            actionStatus.add(new WizardActionStatus(WizardActionStatus.COMPLETED_OK,
                            "policyWizard.policyFinish.status.policyCreated"));

            CoreEvent coreEvent = new ResourceChangeEvent(this, CoreEventConstants.CREATE_POLICY, pol, getSessionInfo(request),
                    CoreEvent.STATE_SUCCESSFUL);
            CoreServlet.getServlet().fireCoreEvent(coreEvent);
           
            try {
              UserDatabase udb = UserDatabaseManager.getInstance().getUserDatabase(LogonControllerFactory.getInstance().getSessionInfo(request).getUser().getRealm());
                for (Iterator i = ((PropertyList) seq.getAttribute(PolicyPrincipalSelectionForm.ATTR_SELECTED_ACCOUNTS, null))
                                .iterator(); i.hasNext();) {
                    User user = udb.getAccount((String) i.next());
                    PolicyDatabaseFactory.getInstance().grantPolicyToPrincipal(pol,
                                    user);
                    CoreServlet.getServlet().fireCoreEvent(new CoreEvent(this, CoreEventConstants.GRANT_POLICY_TO_PRINCIPAL, pol, getSessionInfo(request),
                            CoreEvent.STATE_SUCCESSFUL).addAttribute(CoreAttributeConstants.EVENT_ATTR_PRINCIPAL_TYPE, "user").addAttribute(
                            CoreAttributeConstants.EVENT_ATTR_POLICY_NAME,
                            pol.getResourceName()).addAttribute(CoreAttributeConstants.EVENT_ATTR_PRINCIPAL_ID, user.getPrincipalName()));
                }
                for (Iterator i = ((PropertyList) seq.getAttribute(PolicyPrincipalSelectionForm.ATTR_SELECTED_ROLES, null))
                                .iterator(); i.hasNext();) {
                    Role role = udb.getRole((String) i.next());
                    PolicyDatabaseFactory.getInstance().grantPolicyToPrincipal(pol,
                                    role);

                    CoreServlet.getServlet().fireCoreEvent(new CoreEvent(this, CoreEventConstants.GRANT_POLICY_TO_PRINCIPAL, pol, getSessionInfo(request),
                        CoreEvent.STATE_SUCCESSFUL).addAttribute(CoreAttributeConstants.EVENT_ATTR_PRINCIPAL_TYPE, "group").addAttribute(
                        CoreAttributeConstants.EVENT_ATTR_POLICY_NAME,
                        pol.getResourceName()).addAttribute(CoreAttributeConstants.EVENT_ATTR_PRINCIPAL_ID, role.getPrincipalName()));
                }
                actionStatus.add(new WizardActionStatus(WizardActionStatus.COMPLETED_OK,
                                "policyWizard.policyFinish.status.grantedToPrincipals"));
            } catch (Exception e) {
                log.error("Failed to grant principals to policy.", e);
View Full Code Here

    }
   
    @Test
    public void checkResourceAccessRights() throws Exception {
        Realm realm = getUserService().getRealm(1);
        Policy policy = createPolicy(realm);
        User user = createAccount();
        getPolicyService().grantPolicyToPrincipal(policy, user);
       
        AccessRights accessRights = createAssignAccessRights(getResourceType().getPermissionClass());
        PropertyList selectedPolicies = PropertyList.createFromArray(new int[] {policy.getResourceId()});
        PolicyDatabaseFactory.getInstance().attachResourceToPolicyList(accessRights, selectedPolicies, getSessionInfo());
        AuthenticationScheme resource = createResource();
        assertTrue("Should be, as one already exists.", getPolicyService().isPrincipalGrantedResourcesOfType(user, resource.getResourceType(), null));
        assertEquals("Should be four.", getPolicyService().getGrantedResourcesOfType(user, getResourceType()).size(), 4);
       
        PolicyDatabaseFactory.getInstance().attachResourceToPolicyList(resource, selectedPolicies, getSessionInfo());
        assertEquals("Should be five.", getPolicyService().getGrantedResourcesOfType(user, getResourceType()).size(), 5);
       
        PolicyDatabaseFactory.getInstance().detachResourceFromPolicyList(resource, getSessionInfo());
        assertEquals("Should be four.", getPolicyService().getGrantedResourcesOfType(user, getResourceType()).size(), 4);
        getPolicyService().revokePolicyFromPrincipal(policy, user);
        getUserService().getDefaultUserDatabase().deleteAccount(user);
       
        PolicyDatabaseFactory.getInstance().detachResourceFromPolicyList(accessRights, getSessionInfo());
        deleteResource(resource);
        getPolicyService().deleteAccessRights(accessRights.getResourceId());
        getPolicyService().deletePolicy(policy.getResourceId());
    }
View Full Code Here

TOP

Related Classes of com.adito.policyframework.Policy

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.