Recherche

Sommaire

Pages enfant
  • Restrictions utilisateur anonyme

Introduction

Si la plateforme Nuxeo sert à héberger des documents disponibles sur Internet (par exemple des thèses ou des documents administratifs publics), on doit brider les fonctionnalités auxquelles a accès l'utilisateur anonyme. En effet, lorsqu'on active l'utilisateur anonyme, celui-ci est automatiquement connecté à la plateforme et a donc accès aux même fonctionnalité qu'un utilisateur connecté.

Principe

Créez un fichier actions-config.xml dans le répertoire config du template custom.

Il vous faut retrouver la déclaration des actions (ie lien) que vous souhaitez restreindre dans les composant originaux (qu'il faudra surcharger en les appelant avec une balise require) et ajouter à ces dernier un filtre spécifiant que l'utilisateur ne doit pas être anonyme.

Ce filtre existe déjà dans nuxeo, vous pouvez donc l'utiliser sans avoir besoin de le définir.

On va donc avoir quelque chose de la forme :

<action id="monaction" link="lien_ou_commande" label="mon titre" >

<filter-id>not-anonymous</filter-id>

</action>

Exemples

Vous trouverez quelques exemples de restrictions dans le fichier commenté ci-dessous :

<?xml version="1.0" encoding="UTF-8"?>
<component name="org.esup.ecm.actions">
   <require>org.nuxeo.ecm.platform.actions</require>

 <extension target="org.nuxeo.ecm.platform.actions.ActionService"
        point="actions">

       <!-- ON SUPPRIME LE LIEN RECHERCHE AVANCE -->
        <action id="advanced_search" link="search_form" label="command.advancedSearch"
            order="10">
            <category>SEARCH_ACTIONS</category>
            <filter-id>not_anonymous</filter-id>
        </action>

        <!-- ON SUPPRIME LES ACTIONS DE CREATION DE DOCUMENT POUR ANONYME -->

		<!-- En NUXEO 5.6 -->
        <action id="newDocument"
            link="javascript:Richfaces.showModalPanel('selectDocTypePanel');"
            label="action.new.document" icon="/icons/action_add.gif">
            <category>SUBVIEW_UPPER_LIST_HREF</category>
            <filter-id>create</filter-id>
            <filter-id>not_anonymous</filter-id>
        </action>

        <action id="newFile" link="javascript:Richfaces.showModalPanel('importFile');"
            label="action.new.file" icon="/icons/action_add_file.gif">
            <category>SUBVIEW_UPPER_LIST_HREF</category>
            <filter-id>importFile</filter-id>
            <filter-id>not_anonymous</filter-id>
        </action>

		<!-- En NUXEO 5.8 -->
    	<action icon="/icons/action_add.gif" id="newDocument" label="action.new.document" type="fancybox">
      		<category>SUBVIEW_UPPER_LIST</category>
      		<properties>
        		<property name="include">/select_document_type.xhtml</property>
      		</properties>
      		<filter-id>create</filter-id>
      		<filter-id>not_anonymous</filter-id>
    	</action>

    	<action icon="/icons/action_add_file.gif" id="newFile" label="action.new.file" type="fancybox">
      		<category>SUBVIEW_UPPER_LIST</category>
      		<properties>
        		<property name="include">/create_file.xhtml</property>
      		</properties>
      		<filter-id>importFile</filter-id>
      		<filter-id>not_anonymous</filter-id>
    	</action>

		<!-- ON SUPPRIME LES LIENS VERS L'ESPACE PERSONNEL ET LE REPOSITORY -->
        <action id="SHOW_REPOSITORY"
            link="#{userWorkspaceManagerActions.navigateToOverallWorkspace}"
            enabled="true" label="command.user.return.to.repository" icon="/icons/go_to_repository.gif"
            order="10">
            <category>USER_SERVICES</category>
            <filter-id>isInsidePersonalWorkspace</filter-id>
            <filter-id>not_anonymous</filter-id>
        </action>

        <action id="SHOW_PERSONAL_WORKSPACE"
            link="#{userWorkspaceManagerActions.navigateToCurrentUserPersonalWorkspace}"
            enabled="true" label="command.user.personal.workspace" icon="/icons/show_personal_workspace.gif"
            order="11">
            <category>USER_SERVICES</category>
            <filter-id>not_anonymous</filter-id>
            <filter-id>canAccessPersonalWorkspace</filter-id>
        </action>

        <!-- ON SUPPRIME L'AFFICHAGE DU DASHBOARD -->
      <action id="Dashboard" link="user_center_fragment.xhtml" label="user.center.dashboard" icon="/icons/dashboard.png" order="10">
            <category>USER_CENTER</category>
               <filter-id>not_anonymous</filter-id>
       </action>
       <action id="DashboardMain" link="/incl/dashboard/user_jsf_dashboard.xhtml" label="" order="10">
            <category>Dashboard_sub_tab</category>
            <filter-id>not_anonymous</filter-id>
       </action>

 </extension>
</component>
  • Aucune étiquette