web-dev-qa-db-fra.com

obtenir l'ID utilisateur à partir du nom d'utilisateur ou de l'e-mail sans vous connecter

Je souhaite obtenir l'ID utilisateur et le rôle avant que l'utilisateur ne se connecte. Si j'ai l'e-mail ou le nom d'utilisateur, quelle fonction puis-je utiliser avec D8 pour obtenir l'ID utilisateur?

6
Diana

Vous pouvez charger l'utilisateur avec loadByProperties():

$users = \Drupal::entityTypeManager()->getStorage('user')
  ->loadByProperties(['mail' => $mail]);
$user = reset($users);
if ($user) {
  $uid = $user->id();
  $rids = $user->getRoles();
}
12
4k4