示例#1
0
 /**
  * Returns true if and only if the assertion conditions are met
  *
  * This method is passed the ACL, Role, Resource, and privilege to which the authorization query applies. If the
  * $role, $resource, or $privilege parameters are null, it means that the query applies to all Roles, Resources, or
  * privileges, respectively.
  *
  * @param  Acl                        $acl
  * @param  RoleInterface         $role
  * @param  ResourceInterface $resource
  * @param  string                         $privilege
  * @return bool
  */
 public function assert(Acl $acl, RoleInterface $role = null, ResourceInterface $resource = null, $privilege = null)
 {
     if (!$role instanceof User) {
         return false;
     }
     $member = $role->getMember();
     foreach ($member->getBoardInstallations() as $boardInstall) {
         if ($this->isCurrentBoard($boardInstall)) {
             return true;
         }
     }
     return false;
 }
示例#2
0
 /**
  * Returns true if and only if the assertion conditions are met
  *
  * This method is passed the ACL, Role, Resource, and privilege to which the authorization query applies. If the
  * $role, $resource, or $privilege parameters are null, it means that the query applies to all Roles, Resources, or
  * privileges, respectively.
  *
  * @param  Acl                        $acl
  * @param  RoleInterface         $role
  * @param  ResourceInterface $resource
  * @param  string                         $privilege
  * @return bool
  */
 public function assert(Acl $acl, RoleInterface $role = null, ResourceInterface $resource = null, $privilege = null)
 {
     if (!$role instanceof User) {
         return false;
     }
     if (!$resource instanceof OrganResourceInterface) {
         return false;
     }
     $member = $role->getMember();
     $organ = $resource->getResourceOrgan();
     foreach ($member->getOrganInstallations() as $organInstall) {
         if ($organInstall->getOrgan()->getId() === $organ->getId() && $this->isCurrentMember($organInstall)) {
             return true;
         }
     }
     return false;
 }