Boa tarde...
Estou a explorar a utilização do CMIS para a gestão de permissões dos utilizadores em pastas e documentos.
Encontrei informação de como adicionar permissões, mas não de como remover.
Consigo adicionar permissões aos utilizadores com os vários perfis disponibilizados no Alfresco: Coordinator, Collaborator; Editor e Consumer.
OperationContext operationContext = new OperationContextImpl();
operationContext.setIncludeAcls(true);
Folder testFolder = (Folder) session.getObject("72deb421-3b8e-4268-9987-9c59a19f4a13");
testFolder = (Folder) session.getObject(testDoc, operationContext);
List<String> permissions = new ArrayList<String>();
permissions.add("{http://www.alfresco.org/model/content/1.0}folder.Coordinator");
String principal = "rui.santos";
Ace aceIn = session.getObjectFactory().createAce(principal, permissions);
List<Ace> aceListIn = new ArrayList<Ace>();
aceListIn.add(aceIn);
testDoc.addAcl(aceListIn, AclPropagation.REPOSITORYDETERMINED);
testDoc = (Folder) session.getObject(testDoc, operationContext);
Para remover uma permissão do "rui.santos" , fiz o seguinte:
OperationContext operationContext = new OperationContextImpl();
operationContext.setIncludeAcls(true);
Folder testFolder = (Folder) session.getObject("72deb421-3b8e-4268-9987-9c59a19f4a13");
testFolder = (Folder) session.getObject(testDoc, operationContext);
List<String> permissions = new ArrayList<String>();
permissions.add("{http://www.alfresco.org/model/content/1.0}folder.Coordinator");
String principal = "rui.santos";
Ace aceIn = session.getObjectFactory().createAce(principal, permissions);
List<Ace> aceListIn = new ArrayList<Ace>();
aceListIn.add(aceIn);
testDoc.removeAcl(aceListIn, AclPropagation.REPOSITORYDETERMINED);
testDoc = (Folder) session.getObject(testDoc, operationContext);
O problema é que ao executar este método, é removido todas as permissões de todos os utilizadores associados a pasta.
O que estarei a fazer de errado?
Boa tarde.
Alguém consegue ajudar neste assunto? Já fiz vários testes e o resultado final é sempre o mesmo.
Ao usar testDoc.removeAcl(arg0, arg1) da bibilioteca OpenCMIS para remover um Ace, é removido todos os Aces.
Obrigado
Discussions about Alfresco Content Services and Alfresco Process Services in Portuguese
Related:
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.