我安装并配置了FOSUserBundle,一切正常。 但是我需要当用户转到/ URI时,symfony2会检查用户是否登录,如果登录则保留在/ URI和加载配置文件页面上,如果没有将其重定向到/登录页面。
如何在security.yml中执行此操作。
我试过了:
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
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
login_path: /login
default_target_path: /
csrf_provider: form.csrf_provider
logout: true
anonymous: true
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/*, role: ROLE_USER }
但它给了我:找不到“GET /”的路线
答案 0 :(得分:1)
登录后重定向您的页面
的 security.yml 强>
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
default_target_path: /dashboard/
logout:
........
invalidate_session: false
anonymous: ~
在路由文件中
applicationlogin_success:
pattern: /dashboard/
defaults: { _controller: SampleBundle:Default:FrontPage }
使用default_target_path:ROUTING_PATTERN
你会重定向它......