コード例 #1
0
ファイル: AddDefaultRoles.php プロジェクト: morilog/acl
 public function handle()
 {
     try {
         $defaultRoles = $this->config->get('acl.default_roles', []);
         foreach ($defaultRoles as $roleName) {
             $newRole = $this->roleManager->createRoleByName($roleName);
             $this->info(sprintf('Role %s has beed added successfully.', $newRole->getName()));
         }
     } catch (\Exception $e) {
         $this->error($e->getMessage());
     }
 }
コード例 #2
0
ファイル: UserManager.php プロジェクト: morilog/acl
 /**
  * @author Morteza Parvini <*****@*****.**>
  * @param $user
  * @param array $roles
  * @return mixed
  */
 public function removeUserRoles($user, array $roles)
 {
     $user = $this->getUser($user);
     // Reterieve role and populate $roles array with role->id
     foreach ($roles as &$role) {
         $role = $this->roleManager->getRole($role)->getId();
     }
     // Detach user roles
     return $user->roles()->detach($roles);
 }
コード例 #3
0
ファイル: Acl.php プロジェクト: morilog/acl
 /**
  * @param $role
  * @return bool
  */
 public function checkRoleIsDeletable($role)
 {
     $role = $this->roleManager->getRole($role);
     $defaultRoles = $this->config['default_roles'];
     return !in_array($role->getName(), $defaultRoles);
 }