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你能用简单的例子解释一下吗