2

我的要求是我必须以编程方式创建组织页面并为其设置权限。到目前为止,我创建了组织公共页面

layout = LayoutLocalServiceUtil.addLayout(_defaultUserId, _groupId, PRIVATE_LAYOUT, PARENT_LAYOUT_ID, pageSetting.name, pageSetting.title, description, TYPE, pageSetting.hidden, pageSetting.url, serviceContext);
LayoutLocalServiceUtil.updateLayout(layout.getGroupId(), layout.isPrivateLayout(), layout.getLayoutId(), layout.getTypeSettings());

但是公共页面有guest查看权限。我想以view编程方式从来宾用户那里删除该权限。

4

1 回答 1

2

首先,您需要为当前 Liferay 实例(公司)找到角色“Guest”:

long userRoleId = RoleLocalServiceUtil.getRole(_companyId, "Guest").getRoleId();

之后您需要删除权限:

ResourcePermissionLocalServiceUtil.removeResourcePermissions(
    _companyId,
    layout.getModelClassName(),
    ResourceConstants.SCOPE_INDIVIDUAL,
    String.valueOf(layout.getPrimaryKey()),
    userRoleId,
    new String[]{ActionKeys.VIEW}
);

编辑:根据评论更新

于 2013-02-26T10:48:18.687 回答