コード例 #1
0
 public function allowUpdateRole()
 {
     if (Acl::isGuard()) {
         $authUser = AclUser::find(Auth::id());
         if (!in_array($this->role_type, $authUser->user_types)) {
             return false;
         }
     }
     return true;
 }
コード例 #2
0
 public function getPermission($resource, array $ids = [])
 {
     $result = new AclPermission($resource);
     if ($ids) {
         $result = $result->newSubPermission($ids);
     }
     $authUser = AclUser::find(Auth::id());
     $roles = $this->getRoles($authUser->roles, [], [$resource]);
     foreach ($roles as $role) {
         $permissions = $role->permissions->keyBy('resource');
         if (isset($permissions[$resource])) {
             $result = $result->mergePermission($permissions[$resource]->newSubPermission($ids));
         }
     }
     return $result;
 }