cancel
Showing results for 
Search instead for 
Did you mean: 

Permissions propriétaire

kimblue
Champ in-the-making
Champ in-the-making
Bonjour,

Voila mon souci :

Aujourd'hui sur Alfresco un utilisateur propriétaire d'un contenu peut annuler l'édtion de celui-ci même si c'est un autre utilisateur qui met le document à jour! A la demande de mon client, il faut que je supprime ce droit (si c'est possible biensûr)

Alors j'ai fais quelque test en modifiant le fichier : alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/model/permissionDefinitions.xml

J'ai d'abord essayé en commentant la partie du ROLE_OWNER pour qu'il n'ai plus tous les droits, ça n'a pas fonctionné:
   <!– ================== –>
   <!– Global permissions –>
   <!– ================== –>

   <!–                                                                                  –>
   <!– Global permissions apply regardless of any particular node context.              –>
   <!– They can not be denied by the permissions set on any node.                       –>
   <!–                                                                                  –>

   <!– Admin can do anything to any ndoe                                                –>
   <globalPermission permission="FullControl" authority="ROLE_ADMINISTRATOR"/>

   <!– For now, owners can always see, find and manipulate their stuff                  –>
   <!–<globalPermission permission="FullControl" authority="ROLE_OWNER"/>               –>

   <!– Unlock is granted to the lock owner                                              –>
   <globalPermission permission="Unlock" authority="ROLE_LOCK_OWNER"/>

   <!– Check in is granted to the lock owner                                            –>
   <globalPermission permission="CheckIn" authority="ROLE_LOCK_OWNER"/>

   <!– Cancel check out is granted to the locak owner                                   –>
   <globalPermission permission="CancelCheckOut" authority="ROLE_LOCK_OWNER"/>

Ensuite j'ai essayé en commentant toute la partie du ROLE_LOCK_OWNER. Là l'utilisateur propriétaire ne peut plus annuler l'édition du document. Mais l'autre utilisateur qui modifie le contenu ne peut plus annuler l'édition non plus Smiley Indifferent

Donc je tourne un peu en rond là  :roll:

Quelqu'un aurait une idée?  Smiley Tongue

Merci d'avance.
8 REPLIES 8

rivarola
Champ on-the-rise
Champ on-the-rise
Bonjour,

Il ne faut pas enlever ces deux rôles, qui sont nécessaires au bon fonctionnement d'Alfresco, mais simplement réduire le jeu de permissions qui sont associés au ROLE_OWNER.
Par défaut FullControl confère tous les droits. On peut mettre quelque chose de moins fort comme Editor :
<globalPermission permission="Editor" authority="ROLE_OWNER"/>

Mais le mieux est encore de définir son propre permissionGroup dans la section cm:cmobject pour piocher juste les permissions unitaires qu'on veut attribuer à un propriétaire :
      <permissionGroup name="MyOwner" allowFullControl="false" expose="true">
         <includePermissionGroup permissionGroup="Collaborator" type="cm:cmobject" />
         <includePermissionGroup permissionGroup="Flatten" type="sys:base" />
         <includePermissionGroup permissionGroup="ExecuteContent" type="sys:base" />
         <includePermissionGroup permissionGroup="DeleteChildren" type="sys:base" />
         <includePermissionGroup permissionGroup="CreateAssociations" type="sys:base" />
         <includePermissionGroup permissionGroup="DeleteNode" type="sys:base" />
         <includePermissionGroup permissionGroup="ReadAssociations" type="sys:base" />
         <includePermissionGroup permissionGroup="DeleteAssociations" type="sys:base" />
         <includePermissionGroup permissionGroup="ChangePermissions" type="sys:base" />
         <includePermissionGroup permissionGroup="Execute" type="sys:base" />
         <includePermissionGroup permissionGroup="Delete" type="sys:base" />
         <includePermissionGroup permissionGroup="TakeOwnership" type="cm:ownable" />
         <includePermissionGroup permissionGroup="SetOwner" type="cm:ownable" />
      </permissionGroup>

….
<globalPermission permission="MyOwner" authority="ROLE_OWNER"/>

kimblue
Champ in-the-making
Champ in-the-making
Bonjour,

Merci pour votre retour.

Alors j'ai modifié le fichier pour que le propriétaire du fichier n'est plus les droits de suppression, ainsi que l'annulation de l'édition en cours d'un contenu.

Malheureusement à chaque fois que je redémarre Alfresco les changements ne sont pas pris en compte Smiley Sad

Y a t-il un autre fichier où il faudrait faire des autres modifications ? Le contentModel.xml par exemple??

Merci par avance

kimblue
Champ in-the-making
Champ in-the-making
Bonjour,

Voici les modifications apportées sur le fichier :

J'ai ajouté un nouveau groupe dans la partie permissionSet type="cmSmiley Surprisedbject"
<permissionGroup name="FullWithoutDelete" allowFullControl="false" expose="true">
           <includePermissionGroup permissionGroup="Read" type="sys:base"/>
           <includePermissionGroup permissionGroup="Write" type="sys:base"/>
           <includePermissionGroup permissionGroup="AddChildren" type="sys:base"/>
           <includePermissionGroup permissionGroup="Execute" type="sys:base"/>
      </permissionGroup>

Et j'ai changé la permission pour le ROLE_OWNER
<globalPermission permission="FullWithoutDelete" authority="ROLE_OWNER"/>

Mes changements ne sont pas pris en compte. L'utilisateur qui crée un contenu a toujours tous les droits sur celui-ci.

Y-a-t'il un autre fichier de conf à modifier pour que ce soit pris en compte??

Merci d'avance

rivarola
Champ on-the-rise
Champ on-the-rise
Quel est l'emplacement exact du fichier que tu as modifié ?

kimblue
Champ in-the-making
Champ in-the-making
Bonjour,

Merci pour votre retour.

L'emplacement de mon fichier est le suivant : tomcat/webapps/alfresco/WEB-INF/classes/alfresco/model/permissionDefinitions.xml

Je me demandais si c'était tout le fichier qui n'était pas pris en compte. Mais non. J'ai limité les droits de l'administrateur et là ça a bien fonctionné.
Par contre pour le rôle ROLE_OWNER rien est pris en compte. Ou alors je ne comprend pas vraiment ce rôle. Smiley Sad

Merci d'avance

rivarola
Champ on-the-rise
Champ on-the-rise
Bizarre, c'est bien le bon fichier. Le créateur ou propriétaire d'un fichier ne devrait plus pouvoir le supprimer s'il n'hérite pas par ailleurs des droits Coordinator d'un espace parent.

kimblue
Champ in-the-making
Champ in-the-making
Bonjour

J'ai vraiment un problème avec le rôle "Propriétaire"!
Je devais autoriser un accès en lecture seule au utilisateurs avant la migration, mais ceux qui sont propriétaires de leur contenu ont encore tous les droits!!!!!!!

Je ne comprend vraiment pas pourquoi les modifications que j'apporte sur le fichier au niveau des droits du ROLE_OWNER ne sont pas prises en compte!!

Ca en devient décourageant!! Smiley Sad

Merci pour vos retour

rivarola
Champ on-the-rise
Champ on-the-rise
C'est une opération qu'on fait assez souvent chez nous. Il est vrai qu'on ne modifie pas directement le permissionModel.xml livré par Alfresco dans la webapp mais qu'on redéfinit le bean permissionsModelDAO dans une extension de configuration Spring afin de pointer sur notre fichier de permissions :
    <bean id='permissionsModelDAO' class="org.alfresco.repo.security.permissions.impl.model.PermissionModel">
        <property name="model">
            <value>knowings/model/knowingsPermissionDefinitions.xml</value>
        </property>
        <property name="nodeService">
            <ref bean="nodeService" />
        </property>
        <property name="dictionaryService">
            <ref bean="dictionaryService" />
        </property>
    </bean>