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