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

How can i add new roles in my 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: ^/admin, role: ROLE_ADMIN ROLE_RM ROLE_RP ROLE_RMIS ROLE_RMI }

然后在我的控制器中,我指定了使用此功能的角色

例如,ROLE_RP可以更改用户名,ROLE_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'); 
}