symfony2 FOSUserBundle重定向错误

时间:2012-04-29 20:44:06

标签: symfony fosuserbundle

我已经安装了FOSUserBundle并且工作到了一定程度..它记录了我,它完成了应有的一切 - 除了将我重定向到正确的地方..

我在AdminBundle routes.yml文件中设置了我的路由(来自github上FOSUserBundle安装文档的路径)

我为它创建了一个防火墙:

security:
encoders:
    "FOS\UserBundle\Model\UserInterface": sha512

role_hierarchy:
    ROLE_ADMIN:       ROLE_USER
    ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]

providers:
    fos_userbundle:
        id: fos_user.user_manager

firewalls:
    admin_area:
        pattern:    ^/admin/
        form_login:
            check_path: /admin/login_check
            login_path: /admin/login
            provider: fos_userbundle
        anonymous: true
        logout:
            path:   /admin/logout
            target: /admin/

access_control:
     - { path: ^/admin/login$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
     - { path: ^/admin/, roles: ROLE_ADMIN }

唯一的问题是,当我转到http://mysite.dev/admin时,它会将我重定向到http://mysite.dev/admin/login这是正确的...所以我然后登录并将其重定向到http://mysite.dev/而不是/ admin

重要的是要注意我已经扩展了登录表单以使其看起来像我自己的......通过在我的AdminBundle的views文件夹中创建一个layout.html.twig,使其看起来像设计的其余部分对于我将要使用的管理员..

有什么想法吗?感谢..

1 个答案:

答案 0 :(得分:4)

您需要在登录表单中放置一个名为“_target_path”的隐藏输入,symfony使用它来检查用户在成功通过身份验证后应该重定向到哪里。你可以自定义它。请查看以下文档:http://symfony.com/doc/current/cookbook/security/form_login.html