Recherche

Sommaire

Pages enfant
  • Restrictions utilisateur anonyme

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

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-dm-5.4.1-tomcat/templates/custom/config/actions-config.xml

Suppression de liens

, 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 :Éditez le fichier nuxeo-dm-5.4.1-tomcat/templates/custom/config/actions-config.xml

Bloc de code
langxml
<?xml version="1.0" encoding="UTF-8"?>
<component name="org.nuxeoesup.ecm.platform.actionsContribactions">
    <!-- ON SUPPRIME LE LIEN VERS LE TABLE DE BORD --><require>org.nuxeo.ecm.platform.actions</require>
    <extension target="org.nuxeo.ecm.platform.actions.ActionService"
        point="actions">

        <action id="user_dashboard" link="user_dashboard" label="command.user_dashboard"
            order="10">
            <category>USER_SERVICES</category>
            <filter id="user_dashboard_enabled">
                <rule grant="true">
                    <condition>#{userServicesContext.dashboardEnabled}</condition>
                </rule>
            </filter>
            <filter-id>not_anonymous</filter-id>
        </action>

        <!-- ON RESERVE LA RECHERCHE D'UTILISATEURS AUX ADMINS -->
        <action id="user_manager" link="#{userManagerActions.viewUsers}"
            label="command.manageMembers" order="20">
            <category>USER_SERVICES</category>
            <filter id="user_manager">
                <rule grant="true">
                    <condition>#{userServicesContext.userManagerEnabled}</condition>
                </rule>
            </filter>
            <filter-id>only_for_manager</filter-id>
        </action>

        <!-- 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 -->

        <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>

        <!-- 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>
    </extension>
</component>