使用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中有幾個許可問題可能需要排除 - 它們導致訪客查看權限丟失。 –