info.magnolia.cms.core
Class NodeTypeBasedPermissions

java.lang.Object
  extended by org.apache.jackrabbit.core.security.authorization.AbstractCompiledPermissions
      extended by info.magnolia.cms.core.DefaultACLBasedPermissions
          extended by info.magnolia.cms.core.NodeTypeBasedPermissions
All Implemented Interfaces:
org.apache.jackrabbit.core.security.authorization.CompiledPermissions

public class NodeTypeBasedPermissions
extends DefaultACLBasedPermissions

Permissions are retrieved from requested node or from its ancestor, if the node isn't one of valid node types specified via constructor. Permission based on user ACL for given workspace. Caches the result of resolving paths from ids, the caching implementation based org.apache.jackrabbit.core.security.authorization.principalbased.ACLProvider.CompiledPermissionImpl.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.jackrabbit.core.security.authorization.AbstractCompiledPermissions
org.apache.jackrabbit.core.security.authorization.AbstractCompiledPermissions.Result
 
Field Summary
 
Fields inherited from class info.magnolia.cms.core.DefaultACLBasedPermissions
ami, monitor, permissionMapping, readCache, session
 
Fields inherited from interface org.apache.jackrabbit.core.security.authorization.CompiledPermissions
NO_PERMISSION
 
Constructor Summary
NodeTypeBasedPermissions(List<Permission> permissions, org.apache.jackrabbit.core.SessionImpl session, Map<?,?> configuration)
          Constructor.
 
Method Summary
 boolean canRead(org.apache.jackrabbit.spi.Path itemPath, org.apache.jackrabbit.core.id.ItemId itemId)
           
 boolean grants(org.apache.jackrabbit.spi.Path itemPath, int permissions)
           
 
Methods inherited from class info.magnolia.cms.core.DefaultACLBasedPermissions
buildRepositoryResult, buildResult, convertJackrabbitPermissionsToMagnoliaPermissions, getPrivilegeManagerImpl, getPrivileges, getResult
 
Methods inherited from class org.apache.jackrabbit.core.security.authorization.AbstractCompiledPermissions
canReadAll, clearCache, close, getPrivilegeSet, hasPrivileges
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NodeTypeBasedPermissions

public NodeTypeBasedPermissions(List<Permission> permissions,
                                org.apache.jackrabbit.core.SessionImpl session,
                                Map<?,?> configuration)
Constructor.

Parameters:
permissions - list of permissions
session - workspace session
configuration - AccessControlProvider configuration, parameters from workspace.xml, in this class for obtaining noTypes parameter
Method Detail

canRead

public boolean canRead(org.apache.jackrabbit.spi.Path itemPath,
                       org.apache.jackrabbit.core.id.ItemId itemId)
                throws javax.jcr.RepositoryException
Specified by:
canRead in interface org.apache.jackrabbit.core.security.authorization.CompiledPermissions
Overrides:
canRead in class DefaultACLBasedPermissions
Throws:
javax.jcr.RepositoryException

grants

public boolean grants(org.apache.jackrabbit.spi.Path itemPath,
                      int permissions)
               throws javax.jcr.RepositoryException
Specified by:
grants in interface org.apache.jackrabbit.core.security.authorization.CompiledPermissions
Overrides:
grants in class DefaultACLBasedPermissions
Throws:
javax.jcr.RepositoryException


Copyright © 2003-2013 Magnolia International Ltd.. All Rights Reserved.