Package org.apache.slide.security

Examples of org.apache.slide.security.NodePermission


               
                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


                Enumeration aclList = security.enumeratePermissions
                    (slideToken, current);
               
                while (aclList.hasMoreElements()) {
                   
                    NodePermission permission = (NodePermission)
                        aclList.nextElement();
                   
                    String principal = permission.getSubjectUri();
                   
                    String action = permission.getActionUri();
                   
                    // read
                    boolean isReadObject = readObjectUri.startsWith(action);
                    boolean isReadRevisionMetadata =
                        readRevisionMetadataUri.startsWith(action);
                    boolean isReadRevisionContent =
                        readRevisionContentUri.startsWith(action);
                   
                    boolean isRead = isReadObject && isReadRevisionMetadata
                        && isReadRevisionContent;
                   
                    // write
                    boolean isCreateObject =
                        createObjectUri.startsWith(action);
                    boolean isRemoveObject =
                        removeObjectUri.startsWith(action);
                    boolean isLockObject = lockObjectUri.startsWith(action);
                    boolean isReadLocks = readLocksUri.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);
                   
                    boolean isWrite = isCreateObject && isRemoveObject
                        && isLockObject && isReadLocks
                        && isCreateRevisionMetadata
                        && isModifyRevisionMetadata && isRemoveRevisionMetadata
                        && isCreateRevisionContent && isModifyRevisionContent
                        && isRemoveRevisionContent;
                   
                    //read-acl
                    boolean isReadPermissions =
                        readPermissionsUri.startsWith(action);
                   
                    boolean isReadAcl = isReadPermissions;
                   
                    // write-acl
                    boolean isGrantPermission =
                        grantPermissionUri.startsWith(action);
                    boolean isRevokePermission =
                        revokePermissionUri.startsWith(action);
                   
                    boolean isWriteAcl =
                        isGrantPermission && isRevokePermission;
                   
                    boolean isAll = isRead && isWrite && isReadAcl
                        && isWriteAcl;
                   
                    generatedXML.writeElement(null, ACE, XMLPrinter.OPENING);
                   
                    writePrincipal(generatedXML, principal);
                   
                    if (permission.isNegative()) {
                        generatedXML.writeElement(null, DENY,
                                                  XMLPrinter.OPENING);
                    } else {
                        generatedXML.writeElement(null, GRANT,
                                                  XMLPrinter.OPENING);
                    }
                   
                    if (isAll) {
                        writePrivilege(generatedXML, "all", true);
                    } else {
                        if (isRead) {
                            writePrivilege(generatedXML, "read", true);
                        } else {
                            if (isReadObject)
                                writePrivilege(generatedXML,
                                               "read-object", false);
                            if (isReadRevisionMetadata)
                                writePrivilege(generatedXML,
                                               "read-revision-metadata",
                                               false);
                            if (isReadRevisionContent)
                                writePrivilege(generatedXML,
                                               "read-revision-content", false);
                        }
                        if (isWrite) {
                            writePrivilege(generatedXML, "write", true);
                        } else {
                            if (isCreateObject)
                                writePrivilege(generatedXML,
                                               "create-object", false);
                            if (isRemoveObject)
                                writePrivilege(generatedXML,
                                               "remove-object", false);
                            if (isLockObject)
                                writePrivilege(generatedXML,
                                               "lock-object", false);
                            if (isReadLocks)
                                writePrivilege(generatedXML,
                                               "read-locks", false);
                            if (isCreateRevisionMetadata)
                                writePrivilege(generatedXML,
                                               "create-revision-metadata",
                                               false);
                            if (isModifyRevisionMetadata)
                                writePrivilege(generatedXML,
                                               "modify-revision-metadata",
                                               false);
                            if (isRemoveRevisionMetadata)
                                writePrivilege(generatedXML,
                                               "remove-revision-metadata",
                                               false);
                            if (isCreateRevisionContent)
                                writePrivilege(generatedXML,
                                               "create-revision-content",
                                               false);
                            if (isModifyRevisionContent)
                                writePrivilege(generatedXML,
                                               "modify-revision-content",
                                               false);
                            if (isRemoveRevisionContent)
                                writePrivilege(generatedXML,
                                               "remove-revision-content",
                                               false);
                        }
                        if (isReadAcl) {
                            writePrivilege(generatedXML, "read-acl", true);
                        }
                        if (isWriteAcl) {
                            writePrivilege(generatedXML, "write-acl", true);
                        } else {
                            if (isGrantPermission)
                                writePrivilege(generatedXML,
                                               "grant-permission", false);
                            if (isRevokePermission)
                                writePrivilege(generatedXML,
                                               "revoke-permission", false);
                        }
                    }
                   
                    if (permission.isNegative()) {
                        generatedXML.writeElement(null, DENY,
                                                  XMLPrinter.CLOSING);
                    } else {
                        generatedXML.writeElement(null, GRANT,
                                                  XMLPrinter.CLOSING);
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

    /**
     * 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

               
                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

    /**
     * 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

     */
    private void addPermission(String subject, String action,
                               boolean negative,
                               boolean inheritable) throws SourceException {
        try {
            NodePermission permission = new NodePermission(this.config.getFilesPath()+
                                            this.path, subject, action,
                                                       inheritable, negative);

            nat.begin();
            this.security.grantPermission(this.slideToken, permission);
View Full Code Here

    private void removePermission(String subject, String action,
                                  boolean negative,
                                  boolean inheritable)
                                    throws SourceException {
        try {
            NodePermission permission = new NodePermission(this.config.getFilesPath()+
                                            this.path, subject, action,
                                                       inheritable, negative);

            nat.begin();
            this.security.revokePermission(this.slideToken, permission);
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.