按所需用户角色显示 flashbag 消息
Show flashbag message by required user role
当我通过防火墙保护我的 Symfony2 项目的某个区域时,人们被重定向到登录页面。如何在该登录页面上显示动态消息,告知用户所需的用户角色?
例如我的项目有四个不同的页面
/
不受限,
/admin
需要 ROLE_ADMIN
,
/user
需要 ROLE_USER
,
/beta
需要 ROLE_BETA_USER
.
如果用户尝试访问/beta
,登录页面上方应有信息
This area is restricted to beta users.
... 因此 /admin
和 /user
。有没有办法全局设置此消息(无需在每个控制器操作上单独设置)?
您可以通过实施 AccessDeniedHandlerInterface
.
来实现
在handle
方法中,您可以检查请求路径并添加适当的闪现消息。
您必须在 security.yml
:
中注册您的 AccessDeniedHandler 服务
security:
firewalls:
main:
access_denied_handler: my.access_denied_handler_service_name
当我通过防火墙保护我的 Symfony2 项目的某个区域时,人们被重定向到登录页面。如何在该登录页面上显示动态消息,告知用户所需的用户角色?
例如我的项目有四个不同的页面
/
不受限,/admin
需要ROLE_ADMIN
,/user
需要ROLE_USER
,/beta
需要ROLE_BETA_USER
.
如果用户尝试访问/beta
,登录页面上方应有信息
This area is restricted to beta users.
... 因此 /admin
和 /user
。有没有办法全局设置此消息(无需在每个控制器操作上单独设置)?
您可以通过实施 AccessDeniedHandlerInterface
.
在handle
方法中,您可以检查请求路径并添加适当的闪现消息。
您必须在 security.yml
:
security:
firewalls:
main:
access_denied_handler: my.access_denied_handler_service_name