0

security.ymlは役割を追加しましたROLE_PUBLISHERROLE_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 ドキュメントのRoles セクションを参照してください。

さらに、セキュリティの例では、ロール ROLE_PUBLISHER を継承するように ROLE_USER を定義しましたが、その逆はありません。ログインしたユーザーがロール ROLE_PUBLISHER のみを持っていることを確認してください。

于 2013-06-24T09:38:42.800 に答える