Pengesahan Pengguna Programatik
Masalah:
Untuk onboarding pengguna yang diperkemas, adalah dikehendaki untuk mengautomasikan log masuk pengguna selepas pendaftaran, memintas borang log masuk.
Penyelesaian:
Ini boleh dilaksanakan melalui pengesahan program.
Pelaksanaan:
Untuk mencapai ini dalam Symfony, langkah berikut boleh dilaksanakan:
Contoh Kod:
<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>
Nota:
Ingat untuk melaraskan tetapan jenis token dan peranan mengikut keperluan untuk disesuaikan dengan kes penggunaan khusus anda.
Atas ialah kandungan terperinci Bagaimana untuk mengautomasikan Log Masuk Pengguna Selepas Pendaftaran di Symfony?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!