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インスタンス(会社)の役割「ゲスト」を見つける必要があります。

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 に答える