【问题标题】:Liferay Set Page Layout permission programmaticallyLiferay 以编程方式设置页面布局权限
【发布时间】:2013-02-26 09:40:51
【问题描述】:

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

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 权限。

【问题讨论】:

    标签: java liferay liferay-6


    【解决方案1】:

    首先,您需要为当前 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}
    );
    

    编辑:根据评论更新

    【讨论】:

    • 经过几次组合终于奏效了。 Guest 的角色和INDIVIDUAL 的作用域终于起作用了。耶!!
    猜你喜欢
    • 2013-07-14
    • 1970-01-01
    • 2014-06-02
    • 1970-01-01
    • 2011-03-14
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 2022-10-19
    相关资源
    最近更新 更多