基于symfony当前网址的重定向
问题描述:
我有一个symfony 2应用程序与3个不同的角色:管理员,供应商和用户。所有这三个用户应该有不同的登录页面。我正在努力的是要弄清楚如何在security.yml
中放入某个url路径/vendor
未经身份验证(IS_AUTHENTICATED_ANONYMOUSLY
)的用户,例如重定向到类似/adminlogin
的对象,而不是/login
。我现在正在使用FOSUserBundle
,而且看起来好像所有内容都重定向到/login
。基于symfony当前网址的重定向
谢谢!
答
您可以将安全配置分成三个不同的防火墙:一个用于管理员用户,一个用于供应商用户,另一个用于其他用户。 而且,根据用户点击的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://*.com/a/24546275/5431686