Authentification programmatique des utilisateurs
Problème :
Pour une intégration rationalisée des utilisateurs, il est souhaité de automatisez la connexion de l'utilisateur après l'inscription, en contournant le formulaire de connexion.
Solution :
Ceci est réalisable grâce à l'authentification programmatique.
Mise en œuvre :
Pour accomplir cela dans Symfony, les étapes suivantes peuvent être mises en œuvre :
Exemple de code :
<code class="php">use Symfony\Component\EventDispatcher\EventDispatcher, Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken, Symfony\Component\Security\Http\Event\InteractiveLoginEvent; public function registerAction() { // ... if ($this->get("request")->getMethod() == "POST") { // ... Password setting, etc. $em->persist($user); $em->flush(); $token = new UsernamePasswordToken($user, $user->getPassword(), "public", $user->getRoles()); $this->get("security.token_storage")->setToken($token); $event = new InteractiveLoginEvent($request, $token); $this->get("event_dispatcher")->dispatch("security.interactive_login", $event); // Redirect out if necessary } }</code>
Remarque :
N'oubliez pas d'ajuster le type de jeton et les paramètres de rôle si nécessaire pour répondre à votre cas d'utilisation spécifique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!