Nuxeo Enterprise Platform 5.4

org.nuxeo.ecm.core.security
Class CheckInSecurityPolicy

java.lang.Object
  extended by org.nuxeo.ecm.core.security.AbstractSecurityPolicy
      extended by org.nuxeo.ecm.core.security.CheckInSecurityPolicy
All Implemented Interfaces:
SecurityPolicy

public class CheckInSecurityPolicy
extends AbstractSecurityPolicy

Security policy that denies write access on a live document when it is in the checked-in state.

The document must be checked out before modification is allowed.

Since:
5.4

Constructor Summary
CheckInSecurityPolicy()
           
 
Method Summary
 Access checkPermission(Document doc, ACP mergedAcp, Principal principal, String permission, String[] resolvedPermissions, String[] additionalPrincipals)
          Checks given permission for doc and principal.
 SQLQuery.Transformer getQueryTransformer()
          Legacy method for compatibility, use AbstractSecurityPolicy.getQueryTransformer(String) instead
 boolean isExpressibleInQuery()
          Legacy method for compatibility, use AbstractSecurityPolicy.isExpressibleInQuery(String) instead
 boolean isRestrictingPermission(String permission)
          Checks if this policy is restricting the given permission.
 
Methods inherited from class org.nuxeo.ecm.core.security.AbstractSecurityPolicy
getQueryTransformer, isExpressibleInQuery
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CheckInSecurityPolicy

public CheckInSecurityPolicy()
Method Detail

checkPermission

public Access checkPermission(Document doc,
                              ACP mergedAcp,
                              Principal principal,
                              String permission,
                              String[] resolvedPermissions,
                              String[] additionalPrincipals)
Description copied from interface: SecurityPolicy
Checks given permission for doc and principal.

Note that for the Browse permission, which is also implemented in SQL using SecurityPolicy.getQueryTransformer(java.lang.String), a security policy must never bypass standard ACL access, it must only return DENY or UNKNOWN. Failing to do this would make direct access and queries behave differently.

Parameters:
doc - the document to check
mergedAcp - merged ACP resolved for this document
principal - principal to check
permission - permission to check
resolvedPermissions - permissions or groups of permissions containing permission
Returns:
access: GRANT, DENY, or UNKNOWN. When UNKNOWN is returned, following policies or default core security are applied.

isRestrictingPermission

public boolean isRestrictingPermission(String permission)
Description copied from interface: SecurityPolicy
Checks if this policy is restricting the given permission.

Queries check the BROWSE permission.

Specified by:
isRestrictingPermission in interface SecurityPolicy
Overrides:
isRestrictingPermission in class AbstractSecurityPolicy
Parameters:
permission - the permission to check for
Returns:
true if the policy restricts the permission

isExpressibleInQuery

public boolean isExpressibleInQuery()
Description copied from class: AbstractSecurityPolicy
Legacy method for compatibility, use AbstractSecurityPolicy.isExpressibleInQuery(String) instead

Overrides:
isExpressibleInQuery in class AbstractSecurityPolicy

getQueryTransformer

public SQLQuery.Transformer getQueryTransformer()
Description copied from class: AbstractSecurityPolicy
Legacy method for compatibility, use AbstractSecurityPolicy.getQueryTransformer(String) instead

Overrides:
getQueryTransformer in class AbstractSecurityPolicy

Nuxeo Enterprise Platform 5.4

Copyright © 2011 Nuxeo SAS. All Rights Reserved.