如何使用CMIS删除文档

Dee*_*ape 0 java alfresco cmis alfresco-share

我使用Servlets创建了一个外部Web应用程序,该应用程序连接到alfresco存储库.

我也可以将文档上传到存储库,从存储库下载文档.

现在我的要求是,我必须根据用户角色删除文档.意味着我想只给站点管理员提供删除文档访问权限.

如果您有,请提供示例代码.

提前致谢

Yag*_*ght 5

为了删除文档,您首先需要查看用户是否具有要删除的角色,这就是为什么答案将分为两部分

第1部分:寻找权威

在这一部分中,您将看到用户是否有权删除

Session session = getSession(serverUrl, username, password); // Get the session 

object = session.getObjectByPath(idObject); // get the object 

if (object.getAllowableActions().getAllowableActions().contains(Action.CAN_DELETE_OBJECT)) { //// You can delete 

   } else {  //// You can't delete 
       System.out.println("I can't ");            
   }
Run Code Online (Sandbox Code Playgroud)

第2部分:删除方法

对于文档,删除它很简单

Session session = getSession(serverUrl, username, password);
CmisObject object = session.getObject(path);
Document suppDoc = (Document) object;
suppDoc.delete(true);
Run Code Online (Sandbox Code Playgroud)

请注意,文件夹不同,但只会更改第2部分(因为删除文件夹时需要删除其子文件)

要完成此答案,您只需要将第1部分与第2部分结合起来.