Neos\Neos\Domain\Service\UserService::removeRoleFromUser PHP Method

removeRoleFromUser() public method

Removes the specified role from all accounts of the given user and potentially carries out further actions which are needed to properly reflect these changes.
public removeRoleFromUser ( User $user, string $roleIdentifier ) : integer
$user Neos\Neos\Domain\Model\User The user to remove roles from
$roleIdentifier string A fully qualified role identifier, or a role identifier relative to the Neos.Neos namespace
return integer How often this role has been removed from accounts owned by the user
    public function removeRoleFromUser(User $user, $roleIdentifier)
    {
        $counter = 0;
        foreach ($user->getAccounts() as $account) {
            $counter += $this->removeRoleFromAccount($account, $roleIdentifier);
        }
        return $counter;
    }

Usage Example

 /**
  * Remove a role from a user
  *
  * This command allows for removal of a specific role from an existing user.
  *
  * If an authentication provider was specified, the user will be determined by an account identified by "username"
  * related to the given provider. However, once a user has been found, the role will be removed from <b>all</b>
  * existing accounts related to that user, regardless of its authentication provider.
  *
  * @param string $username The username of the user
  * @param string $role Role to be removed from the user, for example "Neos.Neos:Administrator" or just "Administrator"
  * @param string $authenticationProvider Name of the authentication provider to use. Example: "Typo3BackendProvider"
  * @return void
  */
 public function removeRoleCommand($username, $role, $authenticationProvider = null)
 {
     $user = $this->getUserOrFail($username, $authenticationProvider);
     try {
         if ($this->userService->removeRoleFromUser($user, $role) > 0) {
             $this->outputLine('Removed role "%s" from user "%s".', array($role, $username));
         } else {
             $this->outputLine('User "%s" did not have the role "%s" assigned.', array($username, $role));
         }
     } catch (NoSuchRoleException $exception) {
         $this->outputLine('The role "%s" does not exist.', array($role));
         $this->quit(2);
     }
 }