2

私はSymfony 2に取り組んでおり、「UserController」に「newAction」という名前の新しいアクションを作成しています:

/**
 * @Route("/new", name="user_new")
 */
public function newAction()
{
    if (false === $this->get('security.context')->isGranted('ROLE_ADMIN')) {
        return $this->forward('RikkeiLunchOrderBundle:User:access_denied.html.twig', Array());
    }
}

ユーザーが新しいユーザーを作成するための管理者ロールを持っているかどうかを確認したい。しかし、このエラーが発生しました(ユーザーが管理者でない場合):

URI "/user/new" のコントローラーは呼び出し可能ではありません。 500 内部サーバー エラー - InvalidArgumentException

以下は、security.yml の access_control と role_hierarchy です。

access_control:
    - { path: ^/user/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/admin, roles: ROLE_ADMIN }
    - { path: ^/user/list, roles: ROLE_ADMIN }
    - { path: ^/user/delete, roles: ROLE_ADMIN }
    - { path: ^/order/dish/new, roles: ROLE_ADMIN }
    - { path: ^/API/admin/, roles: ROLE_ADMIN }
    - { path: ^/, roles: ROLE_USER }

role_hierarchy:
        ROLE_ADMIN:       ROLE_USER

解決策を知っている方、助けてください!

4

0 に答える 0