attribution de permission d'accés à un dossier via un script

cancel
Showing results for 
Search instead for 
Did you mean: 
vaquero
Member II

attribution de permission d'accés à un dossier via un script

bonjour,

J'ai deux dossiers:
A: A TRAITER
B: A VALIDER

un groupe : REDACTEUR
contributeur sur l'espace A et lecteur sur l'espace B

le but est de transférer un document de l'espace A à l'espace B
pour cela il faudra attribuer la permission "contributeur" de manière temporaire limitée au transfert du fichier.


var referenceType = "path";
var reference = ["workspace", "SpacesStore", "Company Home","A VALIDER"];
var foundNode = search.findNode(referenceType, reference);

if (foundNode.isContainer)
{

foundNode.removePermission("Consumer","GROUP_REDACTEUR"); 
foundNode.setPermission("Contributor","GROUP_REDACTEUR");     
}
var destination = companyhome.childByNamePath("A VALIDER");
var origine = companyhome.childByNamePath("A TRAITER");
var fichier = origine.children;
for(var i=0;i<nombreDeFichier;i++)
{

  if(fichier[i].isDocument)
  {

fichier[i].move(destination);
foundNode.removePermission("Contributor","GROUP_REDACTEUR"); 
foundNode.setPermission("Consumer","GROUP_REDACTEUR");  
  }
}

lorsque je rajoute un document dans le dossier A
j'ai le message d'erreur suivant :
Echec de la création de contenu en raison d'une erreur : 111614745 Failed to execute script 'workspace://SpacesStore/bf8d8de0-7ce8-41c9-bedf-fce85d028f24': 111614744 Access refusé. Vous n'avez pas la permission de réaliser cette opération.

quelque info : j'utilise la version 4 sous XP, je n'ai pas accès au log d'alfresco, j'ai lu l' API alfresco 4.0
5 Replies
bchevallereau
Member II

Re: attribution de permission d'accés à un dossier via un script

Bonjour,

Vous pouvez utiliser l'api securite:


folderB.setPermission("Collaborator", person);
document.move(folderB);
folderB.removePermission("Collaborator", person);

Ben
cleseach
Active Member II

Re: attribution de permission d'accés à un dossier via un script

Bonjour,

Attention tout de même au fait que les actions s'exécutent avec les droits de l'utilisateur courant.
Si l'action est exécutée avec un membre du groupe REDACTEUR, la modification des permissions du dossier de destination ne va pas être possible : en tant que "Consumer" d'un noeud, je n'ai pas le droit d'en changer les permissions.

Cordialement,
Charles Le Seac'h
bchevallereau
Member II

Re: attribution de permission d'accés à un dossier via un script

Bonjour,

Tres bien vu, desole…

Bah sinon, il y a l'option de creer une action Java et d'utiliser la fonction runAs mais c'est plus complique…

Ben
vaquero
Member II

Re: attribution de permission d'accés à un dossier via un script

Bonjour,

merci pour vos réponses,
effectivement, j'ai constaté qu'il n'est pas possible de changer de permission au cours de l’exécution d'un script.
mon prblème réside dans ce point. et j'ai essayé par exemple de masquer des dossiers en jouant avec les permissions

je vous explique

dossier A
B: sous dossier du dossier A

pour le dossier B : coordinateur
pour le dossier A  pas d'accés ( je décoche inherit parent space permissions)


j'ai constaté qu'il était impossible d'accéder aux fichiers du dossier B en passant par
childByNamePath

j'ai un message d'erreur qui dit que le node est null!! —> je n'accède pas au dossier qui n'est pas visualisé sur l'interface

Je ne trouve pas de solution  :roll:
bchevallereau
Member II

Re: attribution de permission d'accés à un dossier via un script

Vous avez toujours l'option d'une action Java, voici un post qui pourrait vous aider :
http://www.codinginahurry.com/2011/02/17/running-your-code-as-a-different-user-with-alfresco/