输入登录详细信息后,FOS User Bundle发送确认电子邮件。信函中的链接仅使帐户处于活动状态,但不强制其登录。如何强制FOSUB通过电子邮件验证登录用户?
答案 0 :(得分:1)
您需要创建一个eventListener 的实现:
use FOS\UserBundle\FOSUserEvents;
use FOS\UserBundle\Event\UserEvent;
之后,您需要创建要使用的类
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上使用任何受保护的路由(如果他是受保护的,则是主要路径),这将使他直接进入登录区域。