Ejemplo n.º 1
0
 /**
  * hasRoleBasedAccess
  *
  * @param User $user
  * @param      $roleId
  *
  * @return bool
  */
 public function hasRoleBasedAccess(User $user, $roleId)
 {
     /* Get roles or guest roles if no user */
     $userRoles = $this->getUserRoles($user);
     /* Check super admin
            we over-ride everything if user has super admin
        */
     if ($this->hasSuperAdmin($userRoles)) {
         return true;
     }
     foreach ($userRoles as $userRole) {
         if ($userRole instanceof AclRole) {
             $userRoleId = $userRole->getRoleId();
         } else {
             $userRoleId = $userRole;
         }
         $result = $this->aclDataService->getRoleLineage($userRoleId);
         $checkRoles = $result->getData();
         if (array_key_exists($roleId, $checkRoles)) {
             return true;
         }
     }
     return false;
 }
 /**
  * addPermission
  *
  * @param $roleId
  * @param $resourceId
  *
  * @return void
  */
 public function addPermission($roleId, $resourceId)
 {
     $this->aclDataService->createRule($this->getAclRule($roleId, $resourceId));
 }