symfony2:使用fosuserbundle登录后使用引荐来源网址 [英] symfony2 : using referer after login with fosuserbundle
本文介绍了symfony2:使用fosuserbundle登录后使用引荐来源网址的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
登录成功后,fosuserbundle出现了将用户重定向到引荐来源的问题
I've got problem with fosuserbundle to redirect user to the referer after login success
security:
encoders:
FOS\UserBundle\Model\UserInterface: sha512
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
providers:
fos_userbundle:
id: fos_user.user_provider.username_email
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
login_path: fos_user_security_login
use_referer: true
check_path: fos_user_security_check
csrf_provider: form.csrf_provider
logout:
path: fos_user_security_logout
anonymous: true
access_control:
- { path: ^/%locale%/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
和config.yml:
And config.yml:
fos_user:
db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel'
firewall_name: main
user_class: Acme\UserBundle\Entity\User
profile:
form:
type: Acme_user_registration
registration:
confirmation: { enabled: true }
form:
type: Acme_user_registration
confirmation:
enabled: true
from_email:
address: webmaster@acme.com
sender_name: administrateur de Acme.com
resetting:
token_ttl: 86400
email:
from_email: # Use this node only if you don't want the global email address for the resetting email
address: webmaster@Acme.com
sender_name: administrateur de Acme.com
不幸的是,当用户成功登录后,尽管我的security.yml配置文件中的"use_referer:true",他仍然始终重定向到主页...
unfortunately when user is logged successfully, he is invariably redirect to the homepage, in spite of "use_referer: true" in my security.yml config file...
请有人帮我吗?
推荐答案
好,我找到了解决方案.在登录表单中,我添加了一个隐藏字段"_target_path",并为其指定了引荐来源的值...它似乎工作正常
Ok i found a solution. In the login form i added an hidden field "_target_path" and give it the value of the referer...it seems to work fine
{% if app.request.get('_route') != app.request.headers.get('referer') %}
<input type="hidden" name="_target_path" value="{{ app.request.headers.get('referer') }}" />
{% endif %}
这篇关于symfony2:使用fosuserbundle登录后使用引荐来源网址的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文