2017-03-02 132 views
0

我尝试向自定义侦听器在门户中创建的每个文件夹添加资源权限,但对数据库表中的“访客”角色具有访问权限,但未成功注册, 只会被注册的权限与动作ID 0的角色,我尝试用这样的:Liferay将资源权限添加到DLFolder

public void onAfterCreate(DLFolder folder) throws ModelListenerException { 
    super.onAfterCreate(folder); 
    long folderId = folder.getFolderId(); 
    primFOLDER = folderId; 
    try { 
     long guestId = RoleServiceUtil.getRole(companyId, RoleConstants.GUEST).getRoleId(); 
     ResourcePermission resourcePermission = ResourcePermissionLocalServiceUtil 
       .createResourcePermission(CounterLocalServiceUtil.increment()); 
     resourcePermission.setCompanyId(companyId); 
     resourcePermission.setName(folderClass); 
     resourcePermission.setScope(ResourceConstants.SCOPE_INDIVIDUAL); 
     resourcePermission.setPrimKey(String.valueOf(folderId)); 
     resourcePermission.setRoleId(guestId); 
     resourcePermission.setActionIds(2); 
     ResourcePermissionLocalServiceUtil.addResourcePermission(resourcePermission); 
     ResourcePermission resourcePermissionRecover = ResourcePermissionLocalServiceUtil.getResourcePermission(
       companyId, folderClass, ResourceConstants.SCOPE_INDIVIDUAL, String.valueOf(folderId), guestId); 
     if (resourcePermissionRecover != null) { 
      resourcePermissionRecover.setActionIds(2); 
      ResourcePermissionLocalServiceUtil.updateResourcePermission(resourcePermissionRecover); 
     } 
    } catch (PortalException | SystemException e) { 
     e.printStackTrace(); 
    } 
} 

我不知道这是我的错误。谢谢。

回答

相关问题