2016-09-14 58 views
0

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

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 

回答

2

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

CREATE dm_acl对象设置OBJECT_NAME = 'your_acl_name',SET OWNER_NAME = 'dm_dbo'

,但你将无法给予,使用DQL撤销权限。

如果您从Java连接到Content Server并且可以运行DQL查询,为什么不简单地使用DFC API来创建ACL?我猜你可以访问IDfSession?

E.g.

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

然后你就可以轻松地GRANT,REVOKE:

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(); 
1

你有什么写设置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