我被要求將確認電子郵件添加到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 –