Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Symfony 2.1 403禁止页面中显示所需角色_Symfony_Symfony 2.1 - Fatal编程技术网

在Symfony 2.1 403禁止页面中显示所需角色

在Symfony 2.1 403禁止页面中显示所需角色,symfony,symfony-2.1,Symfony,Symfony 2.1,我有一个Symfony 2.1应用程序,它有各种访问控制区域。我的设置包括一个供用户管理其帐户的管理区域,另一个供公司管理员用户管理其公司帐户的区域,以及我们和办公室员工的后端 所有这些不同的用户都定义了角色、角色\管理员、角色\公司\管理员等。在my security.yml中设置的防火墙可以很好地处理这些不同的情况,但是当用户访问没有所需角色的页面时,会得到一个普通的403禁止页面 我希望有一个自定义页面,根据用户缺少的所需角色具有不同的内容。例如,您不能访问此页面,因为您不是管理员|公司管

我有一个Symfony 2.1应用程序,它有各种访问控制区域。我的设置包括一个供用户管理其帐户的管理区域,另一个供公司管理员用户管理其公司帐户的区域,以及我们和办公室员工的后端

所有这些不同的用户都定义了角色、角色\管理员、角色\公司\管理员等。在my security.yml中设置的防火墙可以很好地处理这些不同的情况,但是当用户访问没有所需角色的页面时,会得到一个普通的403禁止页面

我希望有一个自定义页面,根据用户缺少的所需角色具有不同的内容。例如,您不能访问此页面,因为您不是管理员|公司管理员

我需要检索导致异常的路由所需的角色,然后将其与用户进行比较。有什么好办法吗

多谢各位,
Al

您可以添加自定义的拒绝访问url并实现自己的控制器


这里有一个很好的例子:

谢谢你的建议,但我对这个解决方案不感兴趣,因为它需要一个额外的包并使用注释来保证安全性。我可能最终会这样做,但如果有,我希望有一个“更纯净”的解决方案。我尝试过切换到这个,但不幸的是,这段代码似乎不适用于Symfony 2.1。看看我有完全相同的问题。你找到这个问题的解决办法了吗?@samra没有,很遗憾我还没有找到解决办法