プログラムによるユーザー認証
問題:
ユーザーのオンボーディングを効率化するには、次のことが望ましいです。登録後のユーザー ログインを自動化し、ログイン フォームをバイパスします。
解決策:
これはプログラムによる認証によって実現可能です。
実装:
Symfony 内でこれを実現するには、次の手順を実装できます。
コード例:
<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>
注:
必要に応じてトークンのタイプとロールの設定を調整してください。特定のユースケースに合わせてカスタマイズしてください。
以上がSymfony での登録後のユーザーログインを自動化するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。