我正在研究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());
}
}
我想检查用户是否有角色Admin来创建新用户。但是我收到了这个错误(当用户不是管理员时):
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
如果您知道解决方案,请提供帮助!