我试图找出如何以编程方式为SugarCRM中的用户分配多个角色。通过做一些研究,我发现我可以利用role-> set_user_relationship()函数来部分地这样做。但它不允许我将多个角色作为参数传递。
理想情况下,我期待一种允许我传递一系列角色ID的行为。执行此方法后,它应将所有现有的已分配角色替换为新用户。但看起来这个行为并不是开箱即用的,所以任何指导/变化都是完全正确的。
我查看了各种api资源,但一直找不到任何有用的东西。任何人都可以向我提出建议吗?
感谢。
答案 0 :(得分:0)
我既未使用也未查看此CRM的代码,但如果您想将角色1和角色2设置为CRM中的新用户,则应将新角色定义为role3,因为角色使用逻辑就是这样。我想在编码方面会有很多部分需要更改以便为新用户使用多个角色,因此我的建议是为每个请求的授权级别定义所需的角色。
答案 1 :(得分:0)
这是我用来向用户添加特定角色的内容。
$role = new ACLRole();
$role->retrieve($sugar_config['role']['boss']);
if (!$current_user->check_role_membership($role->name)) {
// Add user to role, if he/she is not already a member
$role->set_relationship(
'acl_roles_users',
array(
'role_id' => $role->id,
'user_id' => $current_user->id
),
false
);
}