Questions sur la gestion des droits

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

Questions sur la gestion des droits

Bonjour à vous tous,

j'ai une question sur la façon dont Alfresco gère les droits et propriétaires d'un espace

Je m'explique, j'ai fais des tests sur Alfresco Labs3 ainsi que sur Alfresco 3.3

Voici un cas d'exemple

Je suis administrateur et je crée un espace : "ESPACE1". <= A ce moment l'admin est propriétaire de l'ESPACE1
Je crée un utilisateur user1 et je lui affecte comme espace accueil l'ESPACE1<= A ce moment le propriétaire de l'ESPACE1 est user1 ( ce qui est en théorie faux car c'est l'admin qui a crée cet espace)
Je crée un utilisateur user2 et je lui affecte comme espace accueil l'ESPACE1<=A ce moment le propriétaire de l'ESPACE1 est user2 et possède tous les droits sur cet espace.
Imaginons que l'on souhaite que user2 n'ait pas tous les droits. En tant qu'admin je change les droits de user2 sur l'espace, résultat : aucun effet car user2 est propriétaire de l'ESPACE1 à ce moment. Hmm en tant qu'admin je ne veux surtout pas qu'il ait tous les droits, alors par précaution je supprime l'utilisateur de cet espace, résultat : dans la gestion des utilisateurs sur ESPACE1 user2 n'apparait plus mais reste toujours propriétaire de l'espace (l'information est écrite). En me logguant en tant que user2, je dispose toujours de tous les droits sur cet espace1!! Etrange étrange,

Pour que la gestion des droits soit effective, il faut crée un autre utilisateur et mettre son espace d'accueil à ESPACE1 <= ce dernier deviendra le propriétaire de l'espace et du coup user2 n'a plus aucun droit

Ma question est : est ce que cette façon de gérer les droits sur les espaces est normal ?

Je trouve ce système dangereux car si une organisation possède un nombre infime d'espace et beaucoup d'utilisateur, les utilisateurs auront chacun à son tour des droits importants sur ces espaces car la création d'un utilisateur doit avoir un espace d'accueil.
4 Replies
jayjayecl
Active Member II

Re: Questions sur la gestion des droits

Le principe de "possession" d'un espace (ownership) fonctionne comme ceci. C'est quelque chose qui s'ajoute de manière transversale à la définition des droits dans Alfresco :
http://wiki.alfresco.com/wiki/Default_Permissions_Model_Reference

Vous devriez revoir votre gestion des droits.
Si vous voulez qu'un utilisateur n'ait pas tous les droits sur un espace, il ne doit pas être "owner" de l'espace.
Vous devriez rendre l'admin "owner" de l'espace, et assigner les droits voulus aux utilisateurs choisis.

Ces pages sont également susceptibles de vous intéresser :
http://wiki.alfresco.com/wiki/Security_Services#Creating_home_spaces_-_from_1.4_onwards
http://wiki.alfresco.com/wiki/Security_and_Authentication#Creating_home_spaces_-_from_1.4_onwards

Bonne chance
alzavan
Member II

Re: Questions sur la gestion des droits

Bonjour,

Je vous remercie de m'avoir diriger vers ces liens.
D'après la documentation, il faudrait activer la propriété "ownerOnCreate" et mettre en value un propriétaire par défaut comme par exemple "admin"

En faisant les tests, je m'aperçois qu'il n'y a aucun changement, la gestion des droits propriétaires sur les espaces est toujours par défaut

En me plongeant sur le code d'Alfresco Labs 3, je m'apercois que le changement de propriétaire s'effectue que si le status de l'espace d'accueil est en mode CREATED, or quand on affecte un espace déjà crée (ou bien lors qu'on crée un espace) lors de la création d'un utilisateur, l'espace d'accueil est en mode VALID c'est pourquoi le changement n'est pas fait

Maintenant y a plein de solution de contournement comme par exemple :
- Crée un espace temporaire d'accueil pour chaque utilisateur et ensuite changer leur espace d'accueil (pour qu'il ne soit pas propriétaire de l'espace d'accueil) et affecter correctement les droits sur cet utilisateur
- Sinon créer un utilisateur temporaire sur l'espace où le propriétaire ne conviendrait pas et ensuite supprimer l'utilisateur temporaire

C'est dommage que l'activation de la propriété ownerOnCreate n'a pas d'effet, ça aurait été une solution plus propre
Une autre solution propre serait de ne pas obliger un utilisateur de posséder un espace d'accueil lors de sa création mais je ne sais pas comme activer cette propriété sur Alfresco Labs3

Encore merci

Cordialement
rguinot
Customer

Re: Questions sur la gestion des droits

Une autre solution propre serait de ne pas obliger un utilisateur de posséder un espace d'accueil lors de sa création mais je ne sais pas comme activer cette propriété sur Alfresco Labs3

voir les beans homefolderprovider, vous pouvez fournir un espace commun pour plusieurs utilisateurs
alzavan
Member II

Re: Questions sur la gestion des droits

Bonjour pour information et pour ceux que ça intéresse, il y a un moyen de rendre un utilisateur lamda propriétaire d'un espace avec le code suivant
ce code utilise le web service alfresco


public static void main(String[] args) throws Exception {

      String endPointAddress = "http://localhost:8080/alfresco/api";
      WebServiceFactory.setEndpointAddress(endPointAddress);
      AuthenticationUtils.startSession("admin", "admin");
            
      //Test SetOwner
      AccessControlServiceSoapBindingStub accessControlService = WebServiceFactory.getAccessControlService();
      
                                //ici uuid de l'espace
      String uuid = "fad9062c-bd37-4946-b68d-b9f253899656";
      Store spacesStore =
         new Store(Constants.WORKSPACE_STORE, "SpacesStore");
      Reference refEspace =
         new Reference(spacesStore,uuid,null);

      Predicate espace = new Predicate(new Reference[]{refEspace},spacesStore,null);
      accessControlService.setOwners(espace, "admin");
      AuthenticationUtils.endSession();      

   }

Salutation