我有一个Symfony 2.1应用程序,它有各种访问控制区域。我的设置包括用户管理帐户的管理区域,公司管理员用户管理公司帐户的另一个区域以及我们和办公室员工的后端。
所有这些不同的用户都定义了角色,ROLE_ADMIN,ROLE_COMPANY_ADMIN等。我的security.yml中设置的防火墙可以很好地处理这些不同的情况,但是当用户访问没有所需角色的页面时,则会获得禁用的通用403页。
我希望自定义页面具有不同的内容,具体取决于用户所缺少的角色。即,您无法访问此页面,因为您不是管理员公司管理员。
我需要检索导致异常的路由所需的角色,然后我可以将其与用户进行比较。有没有办法做到这一点?
非常感谢, 人
答案 0 :(得分:1)
您可以添加自定义访问被拒绝的URL并实现您自己的控制器。
这里张贴了一个很好的例子:http://michelsalib.com/2011/03/31/advance-customization-of-the-403-error-page-in-symfony2/