私は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
解決策を知っている方、助けてください!