输入登录详细信息后,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上使用任何受保护的路由(如果他受到保护,特别是主路径(,这将把他直接带到登录区域。