2013-02-26 143 views
2

我的要求是,我必須以編程方式創建組織頁面併爲其設置權限。到目前爲止,我創建組織的公共頁面Liferay以編程方式設置頁面佈局權限

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權限。任何幫助?

回答

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} 
); 

編輯:更新根據評論

+0

幾個組合終於奏效了。 'Guest'和作用於'INDIVIDUAL'的作用最終發揮作用。好極了 !! – nebula 2013-02-26 11:17:56

+0

太棒了!更新的評論 – n1ckolas 2013-02-26 11:24:10

相關問題