如果我的控制器方法受保护
is_granted('ROLE_XYZ')
,并且用户没有该角色,我如何在异常情况下获得“ ROLE_XYZ”的所有权?当前,该异常消息仅具有“访问被拒绝”。
或者,总的来说,我想知道哪个表达式失败。
答案 0 :(得分:1)
哼哼,我不确定我是否正确理解了你的问题。
但是,如果您想创建带有自定义消息的自定义访问拒绝异常,请查看以下页面:https://symfony.com/doc/current/security/access_denied_handler.html
希望有帮助
编辑:如果先前给定的链接断开,则要创建自定义消息,您必须:
class AccessDeniedHandler implements AccessDeniedHandlerInterface
{
public function handle(Request $request, AccessDeniedException $accessDeniedException)
{
// ...
return new Response($content, 403);
}
}
# config/packages/security.yaml
firewalls:
# ...
main:
# ...
access_denied_handler: App\Security\AccessDeniedHandler