cancel
Showing results for 
Search instead for 
Did you mean: 

gestion des droits par rapport à la recherche documentaire

imi
Champ in-the-making
Champ in-the-making
Bonjour,

Je découvre le monde Alfresco et j'aimerais en connaître un peu plus sur la gestion des droits.
Si je comprends bien, la gestion des droits des utilisateurs sur un développement Alfresco se fait par l'attribution de statuts aux utilisateurs d'espaces, comme pour le déploiement d'un serveur "ordinaire" : administrateur, possibilité en écriture, possibilité en lecture uniquement, possibilité de connaître l'existence d'un document sans pouvoir l'ouvrir, …
Imaginons que je ne dispose d'aucun droit sur un document donné, mais que ce document ait un rapport avec une recherche que je lance dans le corpus documentaire disponible. Lorsque je vais lancer une recherche, ce document sur lequel je ne dispose d'aucun droit sera-t-il malgré tout référencé dans le résultat de ma recherche, simplement en tant que document existant ? Aurai-je accès aux métadonnées qui lui ont été associées (de façon à pouvoir, par exemple, demander l'autorisation au créateur ou à l'éditeur de pouvoir disposer d'un accès en lecture) ?

ex.: je travaille au service tourisme d'une commune; dans le cadre d'une journée du patrimoine, je prépare une plaquette sur un monument historique et je fais une recherche sur les documents dipsonibles relatifs à ce monument. Il se fait que le dit monument vient de faire l'objet d'une demande de rénovation via le service d'urbanisme. Je n'ai pas accès aux documents entrés par le processus urbanisme. La référence du document de demande au service d'urbanisme apparaîtra-t-elle malgré tout dans le résultat de ma recherche, sachant que si je veux pouvoir consulter l'information contenue dans le document, je devrai en formuler la demande ?

Merci à celle ou celui qui pourra me répondre…

IMI
4 REPLIES 4

rgouyet
Champ in-the-making
Champ in-the-making
Bonjour,

Le moteur de recherche renverra comme résultat l'ensemble des documents qui répondent au critère de recherche et pour lesquels vous avez au moins le droit de "lecture".
Si vous n'avez pas ce droit, alors le document sera invisible lorsque vous vous promenerez dans les espaces d'alfresco et aussi dans le résultat des requêtes.
Vous n'aurez également pas accès à ses métadonnées.
Cdt,

imi
Champ in-the-making
Champ in-the-making
Merci pour cette réponse claire et rapide, même si sa valeur ne m'arrange guère ! 🙂
Cela signifie donc qu'il n'existe pas de possibilité de créer un rôle de "visualisateur", ce qui réduit la notion de partage de l'information !

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

Pour info il est possible de paramétrer différemment les rôles par défaut et en particulier de dissocier les permissions sur les métadonnées et les permissions sur le contenu (le fichier). Ca se passe dans le fichier permissionDefinitions.xml et il serait possible de créer un rôle qui n'ait accès qu'aux métadonnées.
Ensuite pour rendre plus permissif du moteur de recherche il faudrait changer les règles de sécurité qui filtrent les documents en sortie du service de recherche. Actuellement ce bean est défini ainsi :
    <bean id="SearchService_security" class="net.sf.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor">
        <property name="authenticationManager"><ref bean="authenticationManager"/></property>
        <property name="accessDecisionManager"><ref local="accessDecisionManager"/></property>
        <property name="afterInvocationManager"><ref local="afterInvocationManager"/></property>
        <property name="objectDefinitionSource">
            <value>
                org.alfresco.service.cmr.search.SearchService.query=AFTER_ACL_NODE.sys:base.Read
                org.alfresco.service.cmr.search.SearchService.selectNodes=AFTER_ACL_NODE.sys:base.Read
                org.alfresco.service.cmr.search.SearchService.selectProperties=ACL_NODE.0.sys:base.Read
                org.alfresco.service.cmr.search.SearchService.contains=ACL_NODE.0.sys:base.Read
                org.alfresco.service.cmr.search.SearchService.like=ACL_NODE.0.sys:base.Read
            </value>
        </property>
    </bean>

En changeant les AFTER_ACL_NODE.sys:base.Read en AFTER_ACL_NODE.sys:base.ReadProperties il serait en théorie possible d'autoriser la remontée des documents si l'on a juste accès aux métadonnées (titre, nom, etc.). Ca ferait pas mal de dégâts dans le client web mais ce serait probablement viable dans une vue personnalisée (WebScript par exemple).

Cette réponse est théorique, la mise en oeuvre un peu tortueuse et je ne garantis pas que ça marche, mais c'est la solution que je choisirais pour répondre au besoin expliqué.

imi
Champ in-the-making
Champ in-the-making
Bonsoir,

Je vous remercie pour la réponse fournie. Voilà qui donne de la matière à tester pour tenter de répondre à mon besoin.

Bien à vous,

IMI