gpt4 book ai didi

fosuserbundle - 双击确认链接时是否会进入 fosuserbundle?

转载 作者:行者123 更新时间:2023-12-04 15:12:54 30 4
gpt4 key购买 nike

刚开始用fosuserbundle,今天激活确认注册链接。
效果很好,但是如果用户再次单击电子邮件中的确认链接,则会收到该错误:

具有确认 token “3hiqollkisg0s4ck4w8g0gw4soc0wwoo8ko084o4ww4sss8o4”的用户不存在
404 未找到 - NotFoundHttpException

我认为这个错误应该由包来处理,不是吗?

谢谢

最佳答案

这是覆盖操作的代码。基本上只是复制了实际 FOS Action 的一部分并进行了修改。

在您的用户包的 Controller 文件夹中创建一个 RegistrationController.php 文件,并将覆盖的 RegistrationController 类放在那里。

假设您的用户包是 Acme\UserBundle:

<?php

// Acme\UserBundle\RegistrationController.php

namespace Acme\UserBundle\Controller;

use Symfony\Component\HttpFoundation\RedirectResponse;
use FOS\UserBundle\Controller\RegistrationController as BaseController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

class RegistrationController extends BaseController
{
/**
* Receive the confirmation token from user email provider, login the user
*/
public function confirmAction(Request $request, $token)
{
$userManager = $this->container->get('fos_user.user_manager');

$user = $userManager->findUserByConfirmationToken($token);

if (null === $user) {

/* ************************************
*
* User with token not found. Do whatever you want here
*
* e.g. redirect to login:
*
* return new RedirectResponse($this->container->get('router')->generate('fos_user_security_login'));
*
**************************************/

}
else{
// Token found. Letting the FOSUserBundle's action handle the confirmation
return parent::confirmAction($request, $token);
}
}
}

关于fosuserbundle - 双击确认链接时是否会进入 fosuserbundle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15867960/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com