我的要求是,我必须以编程方式创建组织页面并为其设置权限。到目前为止,我创建了组织公共页面
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
权限。有什么帮助吗?
答案 0 :(得分: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}
);
编辑:根据评论更新