如何使用 DQL 在 Documentum 中创建新的 ACL

how to create a new ACL in Documentum with DQL

我正在做一个连接到 Documentum 数据存储的 Java 项目,我需要使用 DQL 创建一个 ACL。关于我该怎么做的任何想法?我在 EMC 论坛的研究中发现了以下内容,但我真的不明白如何使用它?

create,c,dm_acl  
set,c,l,object_name  
your_acl_name  
set,c,l,owner_name  
dm_dbo  
grant,c,l,dm_world,1      // Granting Permission  
revoke,c,l,dm_world,execute_proc,change_permit  // Revoking permission  
grant,c,l,your_admin,7,execute_proc,change_permit  // granting permission with extended permissions  
save,c,l 

您可以像这样使用 DQL 创建 dm_acl 对象:

创建 dm_acl 对象集 object_name='your_acl_name',设置 owner_name='dm_dbo'

但您将无法使用 DQL 授予、撤销权限。

如果您从 Java 连接到内容服务器并且您可以 运行 DQL 查询为什么不简单地使用 DFC API 创建一个 ACL?我想您有权访问 IDfSession?

例如

IDfACL acl = (IDfACL)session.newObject("dm_acl");
acl.setObjectName(name);
acl.setDescription(description);
acl.save();

然后您可以轻松授予、撤销:

IDfPermit permit = new DfPermit();

permit.setAccessorName("some group");
permit.setPermitType(IDfPermit.DF_ACCESS_PERMIT);
permit.setPermitValue(IDfACL.DF_PERMIT_READ_STR);
acl.grantPermit(permit);
acl.save();

您所写的是一组 API 创建 ACL 的命令。你需要像

这样的东西
IDfACL acl = (IDfACL)getSession().newObject("dm_acl");
acl.grant("<user_or_group_name>", IDfACL.DF_PERMIT_WRITE, IDfACL.DF_XPERMIT_CHANGE_LOCATION_STR)
... // you can countinue to add permissions here