我被要求将确认电子邮件添加到CRM中,然后用户将注册,然后发送一封带有链接的电子邮件进行确认以启用其帐户。但是,无论何时链接被点击,它都会立即重定向到登录页面,因为他们没有确认它,所以这是毫无用处的。我试图将其排除在security.yml
文件中,但至今没有运气。FOS用户捆绑确认链接强制您登录
我已经试过:
- { 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: [email protected]
sender_name: #sender name here#
resetting:
email:
from_email:
address: [email protected]
sender_name: #sender name here#
template: emails/password_reset.html.twig
Symfony的3.1/FOS用户捆绑2.0 任何帮助理解。
声明拜托你给的'应用程序/配置/ routing.yml中'文件? – staskrak
另外,请编辑你的问题,并添加:1. symfony和fosUser的版本。 2.添加app/config/config.yml - fos_user参数 – staskrak
已添加。我认为你的意思是FOS的路由文件?我自己的路由文件非常长,除了链接到路由资源外,没有提及FOS –