在Symfony 4中的方法安全性添加一些东西



我有这样的代码

在Symfony Controller

/**
 * @Route("/form/partners/{id}/{formState}", name="bodyshopPartnerEdit")
 * @Security("has_role('ROLE_ADMIN') || has_role('ROLE_BODYSHOP_HANDLER_PARTNER_EDIT')")
 */
public function editPartner(Request $request, EntityManagerInterface $em)

在树枝模板中

{% if is_granted('ROLE_ADMIN') or is_granted('ROLE_BODYSHOP_HANDLER_PARTNER_EDIT') %}

我想知道我是否可以修改 has_role(( is_granted((方法,以自动接受 cole _Admin 而不是检查每次两个角色

谢谢!

您可以使用分层角色并在角色上测试" cole_bodyshop_handler_partner_edit"

security:
# ...
    role_hierarchy:
        ROLE_ADMIN: [ROLE_BODYSHOP_HANDLER_PARTNER_EDI]

在您的控制器中:

 /**
  * @Route("/form/partners/{id}/{formState}",name="bodyshopPartnerEdit")
  * @Security("has_role('ROLE_BODYSHOP_HANDLER_PARTNER_EDIT')")
  */
 public function editPartner(Request $request, EntityManagerInterface $em){
     ...........
    }

最新更新