2017-03-02 6 views
0

ロール "Guest"に対してACCESSへのアクセス権を持ち、データベースのテーブルに正しく登録されていない、カスタムリスナーでポータル内に作成されたすべてのフォルダにリソースの追加アクセスを試行します。 アクション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(); 
    } 
} 

私は自分のエラーを知りません。ありがとうございました。

答えて

関連する問題