diff options
Diffstat (limited to 'Acl/Model/AclInterface.php')
-rw-r--r-- | Acl/Model/AclInterface.php | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/Acl/Model/AclInterface.php b/Acl/Model/AclInterface.php new file mode 100644 index 0000000..d66e8da --- /dev/null +++ b/Acl/Model/AclInterface.php @@ -0,0 +1,106 @@ +<?php + +namespace Symfony\Component\Security\Acl\Model; + +/* + * This file is part of the Symfony framework. + * + * (c) Fabien Potencier <fabien.potencier@symfony-project.com> + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ + +/** + * This interface represents an access control list (ACL) for a domain object. + * Each domain object can have exactly one associated ACL. + * + * An ACL contains all access control entries (ACE) for a given domain object. + * In order to avoid needing references to the domain object itself, implementations + * use ObjectIdentity implementations as an additional level of indirection. + * + * @author Johannes M. Schmitt <schmittjoh@gmail.com> + */ +interface AclInterface extends \Serializable +{ + /** + * Returns all class-based ACEs associated with this ACL + * + * @return array + */ + function getClassAces(); + + /** + * Returns all class-field-based ACEs associated with this ACL + * + * @param string $field + * @return array + */ + function getClassFieldAces($field); + + /** + * Returns all object-based ACEs associated with this ACL + * + * @return array + */ + function getObjectAces(); + + /** + * Returns all object-field-based ACEs associated with this ACL + * + * @param string $field + * @return array + */ + function getObjectFieldAces($field); + + /** + * Returns the object identity associated with this ACL + * + * @return ObjectIdentityInterface + */ + function getObjectIdentity(); + + /** + * Returns the parent ACL, or null if there is none. + * + * @return AclInterface|null + */ + function getParentAcl(); + + /** + * Whether this ACL is inheriting ACEs from a parent ACL. + * + * @return Boolean + */ + function isEntriesInheriting(); + + /** + * Determines whether field access is granted + * + * @param string $field + * @param array $masks + * @param array $securityIdentities + * @param Boolean $administrativeMode + * @return Boolean + */ + function isFieldGranted($field, array $masks, array $securityIdentities, $administrativeMode = false); + + /** + * Determines whether access is granted + * + * @throws NoAceFoundException when no ACE was applicable for this request + * @param array $masks + * @param array $securityIdentities + * @param Boolean $administrativeMode + * @return Boolean + */ + function isGranted(array $masks, array $securityIdentities, $administrativeMode = false); + + /** + * Whether the ACL has loaded ACEs for all of the passed security identities + * + * @param mixed $securityIdentities an implementation of SecurityIdentityInterface, or an array thereof + * @return Boolean + */ + function isSidLoaded($securityIdentities); +}
\ No newline at end of file |