如何让FOS用户bundle在电子邮件验证后登录用户



输入登录详细信息后,FOS用户捆绑包发送确认电子邮件。信件中的链接只是使帐户处于活动状态,而不是强制其登录。如何强制FOSUB在电子邮件验证时登录用户?

您需要创建一个eventListener实现:

use FOSUserBundleFOSUserEvents;
use FOSUserBundleEventUserEvent;

之后,您需要创建类来使用

class RegistrationConfirmListener implements EventSubscriberInterface

并覆盖某些方法,特别是

public function onRegistrationConfirm(GetResponseUserEvent $event)
{
$url = 'use your route to generate the url if you wanna redirect him to login area after cofirm or confimed ' ;
$event->setResponse(new RedirectResponse($url));
}

注意:注意确认和确认的之间的差异

最后一步是在yml服务上指定要在$url变量上使用的路由但你可以在你的security.yml上使用任何受保护的路由(如果他受到保护,特别是主路径(,这将把他直接带到登录区域。

相关内容

最新更新