Symfony FOSUserBundle电子邮件重置链接未指向正确页面
我使用的是Symfony v2.6.13和Symfony FOSUserBundle电子邮件重置链接未指向正确页面,symfony,fosuserbundle,Symfony,Fosuserbundle,我使用的是Symfony v2.6.13和FOSUserBundle 我正在使用FOSUserBundle在我的项目上实现用户身份验证。我正在使用自己的模板(细枝)通过覆盖模板(即将相同的文件名放入我的Project/app/Resources/FOSUserBundle/views文件夹)来显示login/register/reset密码等。如本文所述: 我面临的问题是,我通过电子邮件收到的用于重置密码的链接将我带回原来的页面,即输入电子邮件/用户名的屏幕。电子邮件中生成的链接应该会将我带到一
FOSUserBundle
我正在使用FOSUserBundle在我的项目上实现用户身份验证。我正在使用自己的模板(细枝)通过覆盖模板(即将相同的文件名放入我的Project/app/Resources/FOSUserBundle/views
文件夹)来显示login/register/reset
密码等。如本文所述:
我面临的问题是,我通过电子邮件收到的用于重置密码的链接将我带回原来的页面,即输入电子邮件/用户名的屏幕。电子邮件中生成的链接应该会将我带到一个屏幕上,屏幕上有两个文本框供我更改密码,但我从未看到此页面
我不知道为什么会发生这种情况
config.yml
fos_user:
db_driver: mongodb # other valid values are 'orm' mongodb', 'couchdb' and 'propel'
firewall_name: main
user_class: AppBundle\Document\User
registration:
form:
# using this because I am running Symfony 2.6
type: app_user_registration
resetting:
token_ttl: 0 # no restrictions on resetting password
email:
from_email:
address: Brendan@stackoverflow.com
sender_name: SenderName
service:
#default implementation, and uses Swiftmailer to send emails.
mailer: fos_user.mailer.default
因此,在电子邮件中,它将生成一个重置链接,如下所示:
http://127.0.0.1:8000/resetting/reset/59wonV9cK7UPR122rhNZQAXMJwoXUz7dt23_O-a4aJ4
(注:在本地机器上进行测试)
当我单击该链接时,它会将我带到:
http://127.0.0.1:8000/resetting/reset
随后,该屏幕仅允许我选择输入用户名或电子邮件以重置密码(即,同一屏幕循环)
任何帮助都将不胜感激
编辑:
我正在使用FOSUserBundle提供的路由和我自己路由的注释 app/config/routing.yml:
app_website:
resource: "@AppBundle/Resources/config/routing.yml"
prefix: /
app:
resource: "@AppBundle/Controller/"
type: annotation
fos_user:
resource: "@FOSUserBundle/Resources/config/routing/all.xml"
当检查我的路由($php-app/console-route:debug)时,它们都是FOSUserBundle中的默认路由:
fos_user_security_login GET|POST ANY ANY /login
fos_user_security_check POST ANY ANY /login_check
fos_user_security_logout GET ANY ANY /logout
fos_user_profile_show GET ANY ANY /profile/
fos_user_profile_edit GET|POST ANY ANY /profile/edit
fos_user_registration_register GET|POST ANY ANY /register/
fos_user_registration_check_email GET ANY ANY /register/check-email
fos_user_registration_confirm GET ANY ANY /register/confirm/{token}
fos_user_registration_confirmed GET ANY ANY /register/confirmed
fos_user_resetting_request GET ANY ANY /resetting/request
fos_user_resetting_send_email POST ANY ANY /resetting/send-email
fos_user_resetting_check_email GET ANY ANY /resetting/check-email
fos_user_resetting_reset GET|POST ANY ANY /resetting/reset/{token}
fos_user_change_password GET|POST ANY ANY /profile/change-password
问题是
令牌\u ttl
设置为0意味着令牌立即过期,因此用户无法重置密码。我最初将其设置为0,以绕过FOSUserBundle的“仅每24小时重置一次密码”,但这是不正确的
删除此行修复了我的问题 问题是
令牌\u ttl
设置为0意味着令牌立即过期,因此用户永远无法重置密码。我最初将其设置为0,以绕过FOSUserBundle的“仅每24小时重置一次密码”,但这是不正确的
删除此行修复了我的问题 您能为您的登录/重置相关路由显示routing.yml吗?我正在使用FOSUserBundle提供的路由和我自己路由的注释。app/config/routing.yml:
app\u网站:resource:@AppBundle/Resources/config/routing.yml“前缀:/app:resource:@AppBundle/Controller/”类型:annotation fos\u用户:resource:“@FOSUserBundle/Resources/config/routing/all.xml”
很抱歉读不懂,我编辑了我的原始帖子@TwiftyCan您可以为您的登录/重置相关路由显示routing.yml。我正在使用FOSUserBundle提供的路由和我自己路由的注释。app/config/routing.yml:app\u网站:resource:@AppBundle/Resources/config/routing.yml“前缀:/app:resource:@AppBundle/Controller/”类型:annotation fos\u用户:resource:“@FOSUserBundle/Resources/config/routing/all.xml”
很抱歉读不懂,我在Twifty编辑了我的原创帖子