Package org.apache.slide.security

Examples of org.apache.slide.security.NodePermission


        Iterator privilegeIt = grantDenyElm.getChildren(E_PRIVILEGE, DNSP).iterator();
       
        while (privilegeIt.hasNext()) {
            Element privilegeElm = (Element)privilegeIt.next();
            actionUri = createActionUri(privilegeElm);
            NodePermission np = new NodePermission(objectUri, subjectUri, actionUri, true, negative);
            np.setInvert(invert);
            result.add(np);
        }
        return result;
    }
View Full Code Here


     */
    public void grantPermission(Uri uri, NodePermission permission)
        throws ServiceAccessException {
        super.grantPermission(uri, permission);
        if (securityStore.cacheResults()) {
            NodePermission tempPermission = permission.cloneObject();
            Object value = permissionsCache.get(uri.toString());
            if (value == null) {
                // populate the cache with the existing entries
                enumeratePermissions(uri);
                // and check if the cache contains a corresponding entry now
View Full Code Here

                permissionsVector = (Vector) value;
            } else {
                permissionsVector = new Vector();
                Enumeration tempEnum = securityStore.enumeratePermissions(uri);
                while (tempEnum.hasMoreElements()) {
                    NodePermission tempPermission =
                        (NodePermission) tempEnum.nextElement();
                    tempPermission.validate(uri.toString());
                    permissionsVector.addElement(tempPermission);
                }
                permissionsCache.put(uri.toString(), permissionsVector);
            }
            return ((Vector) permissionsVector.clone()).elements();
View Full Code Here

            super.grantPermission(uri, permission);
        }
        else {
            try {
                ResourceId resourceId = obtainResourceId(uri);
                NodePermission permissionClone = permission.cloneObject();
                permissionClone.setObject(resourceId.getUuri()); // switch to uuri
                resourceId.getStore().grantPermission(resourceId, permissionClone);
            }
            catch (ObjectNotFoundException e) {
                throw new ServiceAccessException(this, e);
            }
View Full Code Here

            super.revokePermission(uri, permission);
        }
        else {
            try {
                ResourceId resourceId = obtainResourceId(uri);
                NodePermission permissionClone = permission.cloneObject();
                permissionClone.setObject(resourceId.getUuri()); // switch to uuri
                resourceId.getStore().revokePermission(resourceId, permissionClone);
            }
            catch (ObjectNotFoundException e) {
                throw new ServiceAccessException(this, e);
            }
View Full Code Here

            try {
                ResourceId resourceId = obtainResourceId(uri);
                Enumeration permissions = resourceId.getStore().enumeratePermissions(resourceId);
                Vector result = new Vector();
                while (permissions.hasMoreElements()) {
                    NodePermission p = ((NodePermission)permissions.nextElement()).cloneObject();
                    p.setObject(uri.toString()); // switch to uri
                    result.add(p);
                }
                return result.elements();
            }
            catch (ObjectNotFoundException e) {
View Full Code Here

                        negative = true;
                    }
                } catch (ConfigurationException e) {
                }
               
                NodePermission permission = new NodePermission
                    (uri, subjectUri, actionUri, inheritable, negative);
               
                // Adding the NodePermission to the ObjectNode
                accessToken.getSecurityHelper()
                    .grantPermission(token, permission);
View Full Code Here

    /**
     * Add permission to the list of permissions to set.
     */
    protected void addPermission(String principal, String action,
                                 boolean negative, boolean inheritable) {
        NodePermission permission = new NodePermission
            (resourcePath, principal, action, inheritable, negative);
        if (!permissions.contains(permission))
            permissions.addElement(permission);
    }
View Full Code Here

                // put all permissions in a list
                permissions.clear();
                Enumeration aclList = security.enumeratePermissions(slideToken, current);
                while (aclList.hasMoreElements()) {
                   
                    NodePermission permission = (NodePermission) aclList.nextElement();
                   
                    // if we are processing inheritedPermissions (from parent and up)
                    // then the permission should be inheritable
                    if (inheritedPermissions && !permission.isInheritable()) {
                        // continue with next permission
                        continue;
                    }
                    permissions.add(permission);
                }
               
                // start combining and writing the permissions
                while (permissions.size()>0) {
                   
                    NodePermission permission = (NodePermission) permissions.get(0);
                    permissions.remove(0);
                   
                    String principal = permission.getSubjectUri();
                    boolean negative = permission.isNegative();
                   
                    String action    = permission.getActionUri();
                   
                    // read
                    boolean isReadObject           = readObjectUri.startsWith(action);
                    boolean isReadLocks            = readLocksUri.startsWith(action);
                    boolean isReadRevisionMetadata = readRevisionMetadataUri.startsWith(action);
                    boolean isReadRevisionContent  = readRevisionContentUri.startsWith(action);
                   
                    // write
                    boolean isCreateObject           = createObjectUri.startsWith(action);
                    boolean isRemoveObject           = removeObjectUri.startsWith(action);
                    boolean isLockObject             = lockObjectUri.startsWith(action);
                    boolean isCreateRevisionMetadata = createRevisionMetadataUri.startsWith(action);
                    boolean isModifyRevisionMetadata = modifyRevisionMetadataUri.startsWith(action);
                    boolean isRemoveRevisionMetadata = removeRevisionMetadataUri.startsWith(action);
                    boolean isCreateRevisionContent  = createRevisionContentUri.startsWith(action);
                    boolean isModifyRevisionContent  = modifyRevisionContentUri.startsWith(action);
                    boolean isRemoveRevisionContent  = removeRevisionContentUri.startsWith(action);
                   
                    //read-acl
                    boolean isReadPermissions = readPermissionsUri.startsWith(action);
                   
                    // write-acl
                    boolean isGrantPermission  = grantPermissionUri.startsWith(action);
                    boolean isRevokePermission = revokePermissionUri.startsWith(action);
                   
                    // check the other permissions to combine them
                    // (if they are for the same principal/negative)
                    for (int i=0; i<permissions.size() ; i++)
                    {
                        NodePermission otherPermission = (NodePermission) permissions.get(i);
                        if (principal.equals(otherPermission.getSubjectUri()) && (negative==otherPermission.isNegative()))
                        {
                            permissions.remove(i);
                            i--; // because we removed the current one
                           
                            action    = otherPermission.getActionUri();
                           
                            // read
                            isReadObject           |= readObjectUri.startsWith(action);
                            isReadLocks            |= readLocksUri.startsWith(action);
                            isReadRevisionMetadata |= readRevisionMetadataUri.startsWith(action);
View Full Code Here

               
                writer.print("<tr" + (shade ? " bgcolor=\"eeeeee\""
                                            : " bgcolor=\"dddddd\"") +
                             ">\r\n");
               
                NodePermission currentPermission =
                    (NodePermission) permissionsList.nextElement();
               
                writer.print("<td align=\"left\" colspan=\"2\"><tt>");
                writer.print(currentPermission.getSubjectUri());
                writer.print("</tt></td>\r\n");
               
                writer.print("<td align=\"left\"><tt>");
                writer.print(currentPermission.getActionUri());
                writer.print("</tt></td>\r\n");
               
                writer.print("<td align=\"right\"><tt>");
                writer.print(currentPermission.isInheritable());
                writer.print("</tt></td>\r\n");
               
                writer.print("<td align=\"right\"><tt>");
                writer.print(currentPermission.isNegative());
                writer.print("</tt></td>\r\n");
               
                writer.print("</tr>\r\n");
            }
           
View Full Code Here

TOP

Related Classes of org.apache.slide.security.NodePermission

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.