Liferay 6.2:更改一个角色的权限,以查看角色或为用户分配角色

时间:2016-09-02 12:31:59

标签: liferay liferay-6.2

我正在编写一个脚本来更改多个用户的权限,一步,我需要检查位于Roles中的矩阵中的一些框 - >权限。换句话说,我需要重新定义哪些用户能够查看或分配其他角色,这是一个巨大的变化,因此应尽可能避免手动方法。

你知道我应该用什么功能来做这件事吗?也许类似于“ResourcePermissionLocalServiceUtil.setResourcePermissions”,但我不确定这里是否存在正确的“动作”,或者在这种情况下是否存在“资源”。

提前致谢。

2 个答案:

答案 0 :(得分:1)

试试这个:

ResourcePermissionLocalServiceUtil.setResourcePermissions(themeDisplay.getCompanyId(), DLFolder.class.getName(), 
                ResourceConstants.SCOPE_INDIVIDUAL, String.valueOf(folderId), 
                roleIdsRole,Actionlist);
Actionlist -[ACCESS,VIEW,UPDATE,DELETE,ADDSUBFOLDER]
using RoleLocalServiceUtil to get roleId

答案 1 :(得分:0)

我终于解决了这个问题。实际上,它使用的是函数setResourcePermission。只是为了帮助这里的人们,我会按顺序解释这些论点:

  • long companyId:门户网站实例的ID。
  • 字符串名称:资源名称,在本例中为“com.liferay.portal.model.Role”。
  • int范围:它必须与权限影响的联合。 1是门户网站的整个实例,而4是...中引用的唯一角色。
  • String primKey:是能够被“操纵”的角色的ID ...
  • long roleId:具有对上一个参数中引用的角色的权限的Role的id。
  • String [] actionIds:确定操作的键数组。它们是KEYS,而不是Ids。例如。 VIEW,ASSIGN_MEMBERS ......

所以,例如,这样的调用:

PermissionResourceLocalServiceUtil.setResourcePermissions(10000,"com.liferay.portal.model.Role",4,"20150",22000, {"VIEW", "ASSIGN_MEMBERS"});

将授予View角色22000的权限,并将用户分配给ID为10000的门户网站实例中的角色“20150”。

编辑:同一函数的另一个版本是setOwnerResourcePermissions,它是相同的,但是您可以指定权限的ownerId。

相关问题