Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在我的fosuserbundle中添加新角色?_Php_Symfony_Web_Doctrine_Fosuserbundle - Fatal编程技术网

Php 如何在我的fosuserbundle中添加新角色?

Php 如何在我的fosuserbundle中添加新角色?,php,symfony,web,doctrine,fosuserbundle,Php,Symfony,Web,Doctrine,Fosuserbundle,我希望我可以添加新用户角色 像这样 role_hierarchy: ROLE_ADMIN: ROLE_USER ROLE_SUPER_ADMIN: ROLE_ADMIN ROLE_SUPER_ADMIN: ROLE_RMI ROLE_SUPER_ADMIN: ROLE_RM ROLE_SUPER_ADMIN: ROLE_RMIS ROLE_SUPER_ADMIN: ROLE_RP 并将它们添加到同一路径 - { path: ^

我希望我可以添加新用户角色 像这样

    role_hierarchy:
    ROLE_ADMIN:       ROLE_USER
    ROLE_SUPER_ADMIN: ROLE_ADMIN
    ROLE_SUPER_ADMIN: ROLE_RMI
    ROLE_SUPER_ADMIN: ROLE_RM
    ROLE_SUPER_ADMIN: ROLE_RMIS
    ROLE_SUPER_ADMIN: ROLE_RP
并将它们添加到同一路径

- { path: ^/admin, role: ROLE_ADMIN ROLE_RM ROLE_RP ROLE_RMIS ROLE_RMI }
然后在我的控制器中,我指定了什么角色应该使用这个函数

例如,角色\u RP可以更改用户名,角色\u ADMIN可以添加新用户


有谁能帮我做这件事吗?我相信你可以做这样的事:

ROLE_RMI : ROLE_USER
ROLE_ADMIN : ROLE_USER
ROLE_RM : ROLE_USER
ROLE_RMIS : ROLE_USER
ROLE_RP : ROLE_USER
ROLE_MYROLES: [ROLE_ADMIN, ROLE_RMI, ROLE_RM, ROLE_RMIS, ROLE_RP]
与:

- { path: ^/admin, role: ROLE_MYROLES}
在控制器中和之后:

  if($user->hasRole('ROLE_RP')){ 
    // change users name 
  } else if($user->hasRole('ROLE_ADMIN')){
    //do others things
  }
请注意,您需要在用户界面中定义:

public function getRoles() {
    return array('ROLE_THAT_U_NEED'); 
}

检查symfony的ACLs@Federico你能用简单的例子解释一下吗