gpt4 book ai didi

symfony - FOS 用户包确认链接强制您登录

转载 作者:行者123 更新时间:2023-12-02 17:02:25 24 4
gpt4 key购买 nike

我被要求在 CRM 中添加一封确认电子邮件,然后用户将注册,然后会收到一封包含确认链接的电子邮件,以便启用他们的帐户。但是,每当单击该链接时,它都会立即重定向到登录页面,这是没有用的,因为他们尚未确认。我尝试将其排除在 security.yml 文件中,但到目前为止还没有成功。

我已经尝试过:

- { path: ^/register/*, role: IS_AUTHENTICATED_ANONYMOUSLY }

- { path: ^/confirm/, role: IS_AUTHENTICATED_ANONYMOUSLY }

- { path: ^/register/confirm/*, role: IS_AUTHENTICATED_ANONYMOUSLY }

但这些似乎都不起作用。

根据要求,FOS注册的路由文件:

<?xml version="1.0" encoding="UTF-8" ?>

<routes xmlns="http://symfony.com/schema/routing"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">

<route id="fos_user_registration_register" path="/" methods="GET POST">
<default key="_controller">FOSUserBundle:Registration:register</default>
</route>

<route id="fos_user_registration_check_email" path="/check-email" methods="GET">
<default key="_controller">FOSUserBundle:Registration:checkEmail</default>
</route>

<route id="fos_user_registration_confirm" path="/confirm/{token}" methods="GET">
<default key="_controller">FOSUserBundle:Registration:confirm</default>
</route>

<route id="fos_user_registration_confirmed" path="/confirmed" methods="GET">
<default key="_controller">FOSUserBundle:Registration:confirmed</default>
</route>

</routes>

FOS 用户配置:

fos_user:
db_driver: orm
firewall_name: main
user_class: AppBundle\Entity\User
registration:
confirmation:
enabled: true
template: emails/registration.html.twig
from_email:
address: noreply@siteemail.co.uk
sender_name: #sender name here#
resetting:
email:
from_email:
address: noreply@siteemail.co.uk
sender_name: #sender name here#
template: emails/password_reset.html.twig

Symfony 3.1/FOS 用户包 2.0如有任何帮助,我们将不胜感激。

最佳答案

恕我直言,因为确认路由是 path="/confirm/{token}" 那么您必须允许 ^/(confirm/){1}.+ security.yml 中要匿名认证的路径,因为确认期间用户尚未经过身份验证。

因此将security.yml编辑为:- { path: '^/(confirm/){1}.+', role: IS_AUTHENTICATED_ANONYMOUSLY }

另请检查注册电子邮件中的网址 - 它应指向 example.com/confirmation/???

关于symfony - FOS 用户包确认链接强制您登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45571641/

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