我正在做一个连接到 Documentum 数据存储的 java 项目。我正在尝试使用 API 类手动创建 ACL。以下是我的代码:
StringBuilder newAcl = new StringBuilder();
newAcl.append(selectedItem.getName());
newAcl.append(selectedItem.getId());
newAcl.append("_acl");
IDfACL acl = (IDfACL)_session.newObject("dm_acl");
acl.setObjectName(newAcl.toString());
acl.setDescription(newAcl.toString());
acl.save();
IDfPermit permit = new DfPermit();
permit.setAccessorName(newAcl.toString());
permit.setPermitType(IDfPermit.DF_ACCESS_PERMIT);
permit.setPermitValue(IDfACL.DF_XPERMIT_CHANGE_FOLDER_LINKS_STR);
permit.setPermitValue(IDfACL.DF_PERMIT_READ_STR);
acl.grantPermit(permit);
acl.save();
问题是我可以成功创建我正在尝试创建的 ACL,并且可以从 dm_acl table object 中检索它。我唯一坚持的是如何设置所有者,因为我从未在我的代码中指定过,一旦我检查 dm_acl 表,它就会说所有者是 dm_admin 。知道如何解决吗?此外,虽然我可以在 dm_acl 中成功创建 ACL,但我也收到错误消息:
[DM_ACL_E_USER_NOT_EXIST] 错误:“ACL 'China InvestmentsCIL_acl' 中给出的 owner_name 或 accessor_name 'China InvestmentsCIL_acl' 不存在。”