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();
}
}
私は自分のエラーを知りません。ありがとうございました。