2016-09-14 12 views
0

Я делаю проект Java, связанный с хранилищем данных Documentum, и мне нужно создать ACL с использованием DQL. Любая идея о том, как я могу это сделать? Я нашел следующее в моих исследованиях на форумах EMC, но я действительно не понимаю, как его использовать?Как создать новый ACL в Documentum с DQL

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

Вы можете создать dm_acl объект с помощью DQL как это:

СОЗДАТЬ dm_acl OBJECT SET object_name = 'your_acl_name' SET OWNER_NAME: = 'dm_dbo'

, но вы не сможете предоставить, аннулировать разрешения с использованием DQL.

Если вы подключены к Content Server с Java, и вы можете запускать DQL-запросы, почему бы вам просто не использовать API DFC для создания ACL? Думаю, у вас есть доступ к IDfSession?

E.g.

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

 Смежные вопросы

  • Нет связанных вопросов^_^