2016-09-14 162 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