Sous Drupal 8 il est possible de surcharger la classe du type d'entité « User » afin de par exemple ajouter nos propres getters et setters ou de modifier l'affichage par défaut d'un nom d'utilisateur.
User
-
-
Pour rediriger un utilisateur lorsqu'il se connecte on peut utiliser le hook HOOK_user_login().
Le code qui suit ne redirige que si une redirection n'est pas déjà présente dans l'url :
-
Simplement utiliser la méthode "addRole" sur l'utilisateur en question en lui passant le nom machine (l'id) du rôle :
$user->addRole('mon_role')
Si vous voulez le faire à la création de l'utilsateur alors vous pouvez utiliser le HOOK_user_presave :
-
$role = new stdClass(); $role->name = 'Label du rĂ´le'; user_role_save($role);
-
$role = \Drupal\user\Entity\Role::create([ 'id' => 'nom_machine_du_role', 'label' => 'Label du rĂ´le', ]); $role->save();