0

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

你知道我应该应用什么功能来做到这一点吗?也许类似于“ResourcePermissionLocalServiceUtil.setResourcePermissions”的东西,但我不确定这里是否有适当的“操作”,或者在这种情况下是否真的有“资源”。

提前致谢。

4

2 回答 2

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
于 2016-11-16T12:44:31.830 回答
0

我终于解决了这个问题。确实,它使用了 setResourcePermission 函数。只是为了帮助周围的人,我将按顺序简要解释这些论点:

  • long companyId:门户实例的ID。
  • 字符串名称:资源的名称,在本例中为“com.liferay.portal.model.Role”。
  • int 范围:它必须与权限影响的联合。1 是门户的整个实例,而 4 是...中引用的唯一角色
  • 字符串 primKey:是角色的 ID,可以被...“操作”
  • long roleId:将拥有上一个参数中引用的角色的权限的角色的 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。

于 2016-09-05T15:38:10.307 回答