如何获取文档的 ACL?
How to get Acls of a document?
我已经在存储库中创建了文档...
并且我已经设置了如下所示的 Acls...
public void setPermissionsToDocument(Session session, List<String> users, String documentPath) {
List<String> permissions = new LinkedList<String>();
List<Ace> addAces = new LinkedList<Ace>();
// permissions.add(BasicPermissions.WRITE);
permissions.add(PermissionService.TAKE_OWNERSHIP);
for (String user : users) {
Ace addAce = session.getObjectFactory().createAce(user, permissions);
addAces.add(addAce);
}
Document document = (Document) session.getObjectByPath(documentPath);
// CmisObjectNotFoundException(String message)
// document.addAcl(addAces, AclPropagation.REPOSITORYDETERMINED);
document.setAcl(addAces);
System.out.println("permissions are setted");
}
现在我没有得到如下所示的特定文档的 Acl。 return 为空。
Document document = dmsService.getDocument(session, "/Manohar/Manohar1/Manohar2/app-logo-48.png");
document.getAcl();
任何人请帮助我...
试试这个:
System.out.println("getting ACL capabilities");
AclCapabilities aclCapabilities = session.getRepositoryInfo().getAclCapabilities();
System.out.println("Propogation for this repository is " + aclCapabilities.getAclPropagation().toString());
System.out.println("permissions for this repository are: ");
for (PermissionDefinition definition : aclCapabilities.getPermissions()) {
System.out.println(definition.toString());
}
System.out.println("\npermission mappings for this repository are: ");
Map<String, PermissionMapping> repoMapping = aclCapabilities.getPermissionMapping();
for (String key: repoMapping.keySet()) {
System.out.println(key + " maps to " + repoMapping.get(key).getPermissions());
}
我已经在存储库中创建了文档...
并且我已经设置了如下所示的 Acls...
public void setPermissionsToDocument(Session session, List<String> users, String documentPath) {
List<String> permissions = new LinkedList<String>();
List<Ace> addAces = new LinkedList<Ace>();
// permissions.add(BasicPermissions.WRITE);
permissions.add(PermissionService.TAKE_OWNERSHIP);
for (String user : users) {
Ace addAce = session.getObjectFactory().createAce(user, permissions);
addAces.add(addAce);
}
Document document = (Document) session.getObjectByPath(documentPath);
// CmisObjectNotFoundException(String message)
// document.addAcl(addAces, AclPropagation.REPOSITORYDETERMINED);
document.setAcl(addAces);
System.out.println("permissions are setted");
}
现在我没有得到如下所示的特定文档的 Acl。 return 为空。
Document document = dmsService.getDocument(session, "/Manohar/Manohar1/Manohar2/app-logo-48.png");
document.getAcl();
任何人请帮助我...
试试这个:
System.out.println("getting ACL capabilities");
AclCapabilities aclCapabilities = session.getRepositoryInfo().getAclCapabilities();
System.out.println("Propogation for this repository is " + aclCapabilities.getAclPropagation().toString());
System.out.println("permissions for this repository are: ");
for (PermissionDefinition definition : aclCapabilities.getPermissions()) {
System.out.println(definition.toString());
}
System.out.println("\npermission mappings for this repository are: ");
Map<String, PermissionMapping> repoMapping = aclCapabilities.getPermissionMapping();
for (String key: repoMapping.keySet()) {
System.out.println(key + " maps to " + repoMapping.get(key).getPermissions());
}