基于symfony中的当前url重定向

时间:2017-04-22 04:43:38

标签: php symfony symfony-2.8 symfony-routing

我有一个包含3个不同角色的symfony 2应用程序:管理员,供应商和用户。这三个用户都应该有不同的登录页面。我正在努力解决的问题是找出要放在security.yml中的内容,以便在某个网址路径IS_AUTHENTICATED_ANONYMOUSLY上获取未经身份验证的(/vendor)用户,例如重定向到{ {1}}与仅/adminlogin。我现在正在使用/login,看起来所有内容都重定向到FOSUserBundle

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以将安全配置拆分为三个不同的防火墙:一个用于管理员用户,一个用于供应商用户,一个用于其他用户。 并且,根据用户点击的URL,您应该将他重定向到适当的登录表单(如果他没有登录)。

例如,如果用户访问example.com/admin/inventory并且未经过身份验证,则应将其重定向到example.com/adminlogin

firewalls:
    admin_secured_area:
        pattern:   ^/admin
        ...
        form_login:
            login_path: /admin/login
            check_path: /admin/login_check
            default_target_path: /admin

    vendor_secured_area:
        pattern:   ^/vendor
        ...
        form_login:
            login_path: /vendor/login
            check_path: /vendor/login_check
            default_target_path: /vendor

    default:
      ...

请查看此答案以获取更多信息:https://stackoverflow.com/a/24546275/5431686