0

在我的security.yml我添加了角色ROLE_PUBLISHER。我设置它以便ROLE_USER继承ROLE_PUBLISHER

security:
    role_hierarchy:
        ROLE_USER:   ROLE_PUBLISHER 

控制器代码如下。

/**
 * @Route("/{id}", requirements={"id" = "\d+"}, name="note_update", options={"expose"=true})

 * @Method("PUT")
 * @Secure(roles="ROLE_PUBLISHER")
 *
 * @param $id
 *
 * @return Response|JsonResponse
 */
public function updateAction($id)
{
    // Some code...
}

但是当我以 身份登录时ROLE_PUBLISHER,我也可以访问ROLE_USER操作。我怎样才能避免这种情况?

4

1 回答 1

0

无需在 security.yml 中定义 ROLE_PUBLISHER 角色,因为您不需要任何角色层次结构。角色(以 ROLE_ 为前缀)可以即时使用和发明,无需在任何地方定义。

请参阅 Symfony2 文档的角色部分

此外:在您的安全示例中,您将 ROLE_USER 定义为继承角色 ROLE_PUBLISHER,反之亦然。确保登录用户只有角色 ROLE_PUBLISHER。

于 2013-06-24T09:38:42.800 回答