Adds the specified role to all accounts of the given user and potentially carries out further actions which are needed to
properly reflect these changes.
public addRoleToUser ( |
||
$user | The user to add roles to | |
$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 added to accounts owned by the user |
/** * Add a role to a user * * This command allows for adding a specific role to an existing user. * * Roles can optionally be specified as a comma separated list. For all roles provided by Neos, the role * namespace "Neos.Neos:" can be omitted. * * 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 new role will be added to <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 added to 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 addRoleCommand($username, $role, $authenticationProvider = null) { $user = $this->getUserOrFail($username, $authenticationProvider); try { if ($this->userService->addRoleToUser($user, $role) > 0) { $this->outputLine('Added role "%s" to accounts of user "%s".', array($role, $username)); } else { $this->outputLine('User "%s" already had the role "%s" assigned.', array($username, $role)); } } catch (NoSuchRoleException $exception) { $this->outputLine('The role "%s" does not exist.', array($role)); $this->quit(2); } }