我有下一个security.yml:
security:
encoders:
Test\BackEndBundle\Entity\User:
algorithm: sha512
encode-as-base64: true
iterations: 10
providers:
main:
entity: { class: TestBackEndBundle:User, property: username }
firewalls:
main:
pattern: /.*
form_login:
check_path: _security_check
login_path: _security_login
default_target_path: homepage
logout: true
security: true
anonymous: true
access_control:
- { path: ^/service, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/login, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: /.*, roles: {ROLE_PARTNER, ROLE_ADMIN} }
以及下一个路由:
homepage:
pattern: /
defaults: { _controller: TestBackEndBundle:Default:index }
_security_login:
pattern: /login
defaults: { _controller: TestBackEndBundle:Security:login }
_security_check:
pattern: /login_check
_security_logout:
pattern: /logout
身份验证效果很好,而不是登录后重定向。应用程序重定向到 /_wdt/5044c6f2a329c。如何重定向到主页?谢谢。
最佳答案
解决方案是取消对 _wdt 路由的保护。
您之所以会出现此行为,是因为您的 _wdt 路由受到保护。 当页面从 _wdt 路由加载工具栏时,它会触发登录。您的登录表单将尝试重定向回触发登录的路由:在本例中为 _wdt。
将此添加到 security.yml 中的 access_control
- { path: ^/_wdt, roles: 'IS_AUTHENTICATED_ANONYMOUSLY' }
这将使工具栏在 protected 和未 protected 页面中工作,如果页面 protected ,它将是触发登录表单的页面 = 它会按预期工作。
关于php - 登录后 symfony 2 安全重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12250347/