Php 基于symfony中的当前url重定向

Php 基于symfony中的当前url重定向,php,symfony,symfony-2.8,symfony-routing,Php,Symfony,Symfony 2.8,Symfony Routing,我有一个symfony 2应用程序,它有3个不同的角色:管理员、供应商和用户。这三个用户都应该有不同的登录页面。我正在努力弄清楚在security.yml中放置什么,以便在某个url路径/vendor上获得未经身份验证的(是匿名身份验证的)用户,例如重定向到/adminlogin之类的内容,而不是仅仅/login。我现在正在使用FOSUserBundle,看起来一切都会重定向到/login 谢谢 您可以将安全配置分为三个不同的防火墙:一个用于管理员用户,一个用于供应商用户,另一个用于其他用户。

我有一个symfony 2应用程序,它有3个不同的角色:管理员、供应商和用户。这三个用户都应该有不同的登录页面。我正在努力弄清楚在
security.yml
中放置什么,以便在某个url路径
/vendor
上获得未经身份验证的(
是匿名身份验证的)用户,例如重定向到
/adminlogin
之类的内容,而不是仅仅
/login
。我现在正在使用
FOSUserBundle
,看起来一切都会重定向到
/login


谢谢

您可以将安全配置分为三个不同的防火墙:一个用于管理员用户,一个用于供应商用户,另一个用于其他用户。 并且,根据用户点击的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:
      ...
请查看此答案以了解更多信息: