如何以编程方式在liferay中设置portlet的权限?

时间:2015-10-23 07:45:05

标签: liferay liferay-6

我需要一个答案。我在" RoleLocalServiceUtil" " UserGroupLocalServiceUtil" 的帮助下创建了用户组和角色。

现在我想为自定义角色设置自定义portlet权限。例如,我希望某个角色只对名为" portletName_1"的portlet具有查看权限,而另一个角色具有对" portletName_2"的所有可用权限。

我认为我应该使用" ResourcePermissionLocalServiceUtil" ,但不知道如何正确地做到这一点。

1 个答案:

答案 0 :(得分:0)

您可以使用ResourcePermissionServiceUtil.addResourcePermission()

来完成此操作
  

现在我想为自定义角色设置自定义portlet权限。例如,我希望某个角色只对名为“portletName_1”的portlet具有查看权限,而另一个角色对“portletName_2”具有所有可用权限。

e.g。

ResourcePermissionServiceUtil.addResourcePermission(groupId, companyId, portletID, ResourceConstants.SCOPE_GROUP, groupId, roleId, ActionKeys.VIEW);

这将为“groupId”范围内的portlet“portletID”的“roleId”分配“view”权限,这意味着具有角色“roleId”的用户将能够在其中的任何位置查看portlet“portletID” id为“groupId”的网站。

同样,您也可以分配其他权限。您可以使用ResourcePermissionLocalServiceUtil.setResourcePermissions()一次为多个操作分配权限。