使用liferay 6.2 api在文档库中插入图像。该代码还将图像从一个文件夹移动到另一个文件夹移动文档库中的文件后的Liferay权限问题
但移动图像后,其文件夹没有得到guest view
权限和图像无法查看。
我有两个组(站点) -
- A组
- B族
A组用户创建的文件夹,文件插入,也移动文件。 GroupB用户应该能够看到这些文件。
所有文件夹和文件均在文档库中的Global scope
下创建。
public void moveFilesToFolder(final HttpServletRequest request, final List<DLFileEntry> filesToMove, final DLFolder toFolder)
throws Exception {
final ServiceContext sc = ServiceContextFactory.getInstance(request);
sc.setWorkflowAction(WorkflowConstants.STATUS_APPROVED);
sc.setAddGuestPermissions(true);
sc.setAddGroupPermissions(true);
for (final DLFileEntry file : filesToMove) {
DLAppServiceUtil.moveFileEntry(file.getFileEntryId(), toFolder.getFolderId(), sc)
}
// update folders to have guest permissions
DLAppLocalServiceUtil.updateFolder(toFolder.getFolderId(), toFolder.getParentFolderId(), toFolder.getName(),
toFolder.getDescription(), sc);
}
这似乎不工作,并且没有为所有用户设置访客权限。奇怪的行为是,当执行移动操作的用户查看来自UI的权限时,将检查gues查看权限,但是对于任何其他用户,不会检查权限。
根据以下建议,我用DLAppServiceUtil
来移动文件。但它并没有改变从草稿中批准的文件状态。
另外什么是用于复制文件的正确方法? DLAppServiceUtil
没有办法将文件从一个文件夹复制到另一个文件夹
任何人都知道如何解决这个问题?
如果Daniele的回答没有帮助(因为您还没有接受):您正在使用哪个版本? –
上面已经提到liferay 6.2 – Coder
对不起,没有足够确切的问题:我一直在寻找确切的版本,例如“CE GA4”? GA3中有几个许可问题可能需要排除 - 它们导致访客查看权限丢失。 –