请注意
如果你使用这个函数不在一个URL存在防火墙活跃,就会抛出一个异常。再一次,这是几乎总是一个好主意有防火墙主要覆盖所有url(如已被证明在这一章)。
请注意
防火墙必须活跃或时将抛出一个异常isGranted
方法被调用。看到上面的注意模板的更多细节。
切换回原来的用户,使用特别的_exit
用户名:
1
http://example.com/somewhere?_switch_user=_exit
在模拟过程中,用户提供的一个特殊的角色ROLE_PREVIOUS_ADMIN
。例如,在一个模板,这个角色可以用来表示退出模拟链接:
1 2 3
{%如果is_granted (ROLE_PREVIOUS_ADMIN) %}<一个href=”{{路径(“主页”,{_switch_user:‘_exit})}}”>退出模拟< /一个>{%endif%}
当然,这个功能需要提供一个小的用户组。默认情况下,用户访问被限制的ROLE_ALLOWED_TO_SWITCH
的角色。这个角色的名称可以修改通过角色
设置。额外的安全,还可以通过改变查询参数名称参数
设置:
1 2 3 4 5 6
# app / config / security.yml安全:防火墙:主要:#……switch_user:{角色:ROLE_ADMIN,参数:_want_to_be_this_user}
请注意
如果你使用一个表单登录,Symfony2将创建一个ob娱乐下载cookie即使你设置无状态的
来真正的
。