SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

290 Plugins, 198 contribs sur SPIP-Zone, 100 visiteurs en ce moment

Accueil > Auteurs, authentification et autorisations > Accès restreints > Accès restreint > Acces Restreint 3.0

Acces Restreint 3.0

11 décembre 2008 – par Cerdic – 842 commentaires

157 votes

Le plugin accès restreint permet de définir et de gérer des zones de l’espace public en accès restreint. Cette version du plugin a été redévelopée et optimisée tout spécialement pour SPIP 2.0. Il en découle une amélioration des performances sur les gros sites.

L’interface a été remaniée pour une meilleure ergonomie, mais le fonctionnement des boucles et des squelettes reste identique à la version précedente du plugin

Utilité et fonctionnalités du plugin

Le plugin accès restreint vous permet de protéger et de restreindre l’accès à certaines rubriques uniquement aux visiteurs authentifiés et autorisés.

Si un visiteur n’est pas identifié ou s’il n’est pas autorisé, alors l’intégralité de la rubrique (ce qui inclut les sous-rubriques, les articles, les liens ...) ne sera pas visible par ce visiteur.

Si le visiteur est identifié, alors ce visiteur pourra accéder aux rubriques pour lesquelles il a reçu une autorisation d’accès.

Ainsi, ce plugin vous permet de masquer du contenu aux visiteurs non identifiés, et de créer des droits d’accès aux visiteurs identifiés.

Le plugin vous permet également de filtrer l’espace privé.

En résumé, le plugin Accès restreint permet de définir et de gérer des zones de l’espace public et de l’espace privé en accès restreint.
Chaque zone contient des rubriques, et les auteurs peuvent être associés à des zones pour avoir le droit d’y accéder.
Toutes les boucles natives de SPIP sont modifiées pour en filtrer les résultats en fonction des droits du visiteur.

I. Installation du plugin accès restreint

Le plugin s’installe comme tous les autres, en ajoutant le dossier dans plugins/ et en l’activant dans l’espace privé.


Attention : en activant ou en désactivant ce plugin, il faut penser à vider le cache de SPIP pour que les droits d’accès soient modifiés.
En particulier, en cas de désactivation, si le cache n’est pas vidé, des erreurs vont apparaître sur le site public. Ce n’est pas un bug, mais une sécurité, pour éviter une divulgation de contenu en cas de désactivation involontaire du plugin.

Le plugin pourrait gérer automatiquement le changement de cache lors de son activation/désactivation, mais dans ce cas, en cas de désactivation involontaire, le contenu protégé serait immédiatement visible, ce qui peut être considéré comme une faille de sécurité.

II. Définir les zones en accès restreint

Les étapes précédentes ont pour effet de faire apparaître un nouvel onglet dans Configuration / Accès restreint, avec une petite icone de cadenas : ecrire/ ?exec=acces_restreint

C’est cette page qui va vous permettre de gérer les zones d’accès restreint de votre site, créer de nouvelles zones ou modifier les zones existantes. Pour créer votre première zone, cliquez sur le raccourci Créer une nouvelle zone.

L’administrateur qui crée la zone peut s’octroyer immédiatement les droits d’accès. Seul un administrateur général du site peut créer, modifier ou supprimer une zone.

Renseignez le titre, le descriptif, la portée (publique et/ou privée) de la zone.
Par défaut, l’option « m’ajouter les droits d’accès à cette zone » est cochée car cela correspond à l’usage le plus fréquent.

Il faut ensuite définir les rubriques qui en font partie. Si on coche la racine du site, il n’y a plus aucun affichage sur l’espace public pour ceux qui ne sont pas identifiés. C’est pratique, par exemple, pour mettre un site en ligne pour les administrateurs et les auteurs sans qu’il soit visible pour le simple visiteur.

Les rubriques qui sont cochées sont explicitement restreintes. Si elles sont déplacées dans le site, elle le resteront. Les rubriques qui ne sont pas cochées mais dépendent d’une rubrique restreinte sont elles aussi restreintes, par héritage. Mais si elles sont déplacées dans l’arborescence dans une zone non restreinte elles seront visibles.

Il faut imaginer la restriction d’accès des rubriques comme une restriction d’accès dans un immeuble : lorsqu’il faut une autorisation pour franchir une porte, tout ce qui est derrière se retrouve en accès restreint.

Cliquez sur « Enregistrer » pour créer la zone. Vous revenez alors à la liste des zones, ou apparaît votre nouvelle zone :

Pour chaque zone, un résumé apparaît indiquant le titre et le descriptif de la zone, le nombre de rubriques restreintes, le nombre d’auteurs autorisés, et si la zone et publique et/ou privée.

Le pictogramme en haut à droite de la zone vous indique si vous avez personnellement accès à la zone. Dans le cas où vous n’avez pas accès, il indique un sens interdit sur fond rouge, et sinon une coche sur fond vert, comme ici.

III. Ajouter des auteurs à une zone

Depuis la zone

Vous pouvez maintenant ajouter d’autres auteurs à la zone qui auront le droit de voir son contenu.
Pour cela, cliquez sur modifier

Vous retrouvez le formulaire d’édition de la zone avec :

  • les rubriques concernées reperées visuellement par un fond coloré
  • la liste des auteurs autorisés dans la colonne de gauche

Vous pouvez cliquer sur « Ajouter des auteurs » pour visualiser la liste des auteurs du site, triés par nom et paginés :

Le picto « + » situé à droite de chaque auteur vous permet de l’ajouter à la liste des auteurs autorisés. La croix rouge située à droite de chaque auteur autorisé vous permet de le retirer de cette liste.

Vous pouvez ainsi administrer la liste des auteurs autorisés en la complétant comme par exemple ici :

Les mises à jour de la liste des auteurs autorisés sont appliquées immédiatement, sans qu’il soit nécessaire d’enregistrer la zone.

Lorsque vous avez fini, revenez à la liste des zones (par le bouton retour donc, ou le bouton enregistrer si vous avez fait d’autres modifications). Vous pouvez voir que le nombre d’auteurs a été mis à jour.

Depuis une fiche auteur

Vous pouvez aussi gérer les droits d’un auteur depuis sa page personelle dans l’interface privée :

Vous pouvez sélectionner une zone et cliquer sur « Ajouter » :

La liste des zones autorisées est alors mise à jour :

Le lien « Enlever de la zone » vous permet de retirer les droits d’accès à une zone pour cet auteur.

IV. Fonctionnement et boucles du plugin

Tout le fonctionnement des squelettes et des boucles est inchangé par rapport à la version précedente du plugin. On se reportera donc à la partie concernée de sa documentation.

V. Protéger les documents de SPIP

La protection des documents de SPIP associé aux articles protégés est une fonctionnalité souvent demandée.

Le plugin accès restreint permet cela, si votre hébergement remplit deux conditions :
-  qu’il accepte les fichiers .htaccess permettant de donner des directives au serveur
-  qu’il soit suffisamment bien dimensionné, car les accès aux images et documents du site vont tous générer un accès à la base de données (pour savoir si les documents concernés peuvent être vus), ce qui ralentit fortement le site.

Si vous êtes dans ces conditions, ou que vous voulez tout de même essayer (mais on vous aura prévenu), voici comment faire :

Allez sur la page d’accueil du plugin Accès Restreint en cliquant sur son icône dans le menu « Configuration »

Menu icone Accès Restreint

Vous arriverez sur cette page :

Page d’accueil du plugin Accès Restreint

Cliquez sur le raccourci « Configuration des accès .htaccess » :

Raccourcis « Configuration des accès .htaccess »

Vous arriverez sur cette page :

« Ne pas créer ces fichiers » coché par défaut

Il suffit de cocher « Interdire la lecture », dans le premier cadre « Accès aux documents joints par leur URL », et « Créer les fichiers .htpasswd » dans le second cadre.

Vider ensuite votre cache. Tous les urls vers des images et documents de SPIP seront alors remplacés par un url de la forme spip.php?action=acceder_document&file=xxx, qui provoquera la lecture de l’autorisation d’accès au document [1].

Si votre site devient très lent ou plante sans arrêt sur une erreur du type « Accès impossible à mySQL », alors votre hébergement n’est pas suffisant pour ce fonctionnement. Désactiver la fonction pour revenir à un fonctionnement normal.

En complément, si après la mise en place du fichier .htaccess certaines pages de l’interface privée vous sont inaccessibles et que vous obtenez des messages « Accès interdit », vous pouvez désactiver la vérification htaccess de l’interface privée, dans les options du site.

VI. Paramétrage plus fin des restrictions

AR_TYPE_RESTRICTION définit le type de restriction pour traiter les élements communs à plusieurs zones :

  • Une restriction exclusive (ou forte) donne l’acces aux rubriques restreintes par plusieurs zones aux seuls membres de toutes les zones concernées.
  • Une restriction faible donne acces à une rubrique, même restreinte par plusieurs zones, aux membres de chaque zone concernée.
  • Valeurs possibles : ’faible’ (par défaut), ’forte, ou ’exclusive’

Autrement dit, si une rubrique 2 est enfant d’une rubrique 1, et qu’il existe une zone 1 (rubrique 1) et une zone 2 (rubrique 2) :

  • un auteur présent dans la zone 1 (uniquement) ne pourra pas voir la rubrique 2 lorsque la restriction est « forte ». Il le pourra avec une restriction « faible »
  • À l’inverse, un auteur présent uniquement dans la zone 2 ne pourra pas voir la rubrique 1 même si la restriction est « faible » car la parentée n’est pas concernée. Il faut (si souhaité) dans ce cas définir en plus AR_TYPE_RESTRICTION_PARENTEE à « faible » pour l’autoriser.

Exemple, dans config/mes_options.php :

  1. # Pour qu'une rubrique placée dans une Zone puisse
  2. # être accédée en étant une sous rubrique d'une autre Zone
  3. define('AR_TYPE_RESTRICTION','forte');
  4. define('AR_TYPE_RESTRICTION_PARENTEE','faible');

Télécharger

AR_TOUJOURS_TOUT_VOIR est une constante qui, si elle est définie dans le fichier mes_options.php de votre site (ou le fichier d’options de votre plugin qui utilise acces_restreint) modifie le comportement des boucles afin qu’elles affichent toutes tous les résultats, sans aucune restriction. Pour restreindre un affichage, le squelette doit donc tester à la main, par exemple avec le filtre accesrestreint_article_restreint.

Exemple :
-  dans mes_options :

  1. define (AR_TOUJOURS_TOUT_VOIR, 1);


-  dans un fichier squelette :

  1. <BOUCLE_a(ARTICLES)>
  2. [(#ID_ARTICLE|accesrestreint_article_restreint|oui)  <INCLURE{fond=intro_article}{id_article}> ]
  3. [(#ID_ARTICLE|accesrestreint_article_restreint|non) Pas accés à cette page]
  4. </BOUCLE_a>

Télécharger

Voir en ligne : https://plugins.spip.net/accesrestreint

P.-S.

Avec SPIP 2.1 le plugin nécessite l’installation du plugin SPIP Bonux.

Notes

[1A partir de la version 3.8 du plugin, les URLs des documents protégés sont soit sous la forme plus perenne /IMG/xxxxxx.xxx?nn/hash si les réécritures d’URLs sont possible sur votre hébergement, soit de la forme docrestreint.api/nn/hash/xxxxxxx.xxx

Dernière modification de cette page le 1er novembre 2017

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 28 septembre à 15:35, par Spidermian En réponse à : Acces Restreint 3.0

    Bonjour,

    Depuis que j’utilise ce plugin, les documents (images autres que le logo de l’article)
    ne s’affichent pas pour un visiteur non identifié lorsque un article non restreint est demandé. Du coup ça me pose un problème pour les articles devant s’afficher en clair.
    Le texte s’affiche mais pas les images incluses.

    Voici le code généré pour un visiteur identifié mais n’ayant pas acces aux zones restreintes

    <span class="spip_document_1062 spip_documents spip_documents_center media media_image media_image_jpg"><img src="local/cache-vignettes/L670xH447/dsc03055-1-c9b21.jpg?1537942573" alt="<span class=&quot;caps&quot;>JPEG</span> - 112.7&nbsp;ko" width="670" height="447"></span><br class="autobr">

    et le code généré pour un visiteur identifié (ou pour un visiteur ayant acces a la zone restreinte)

    <span class="spip_document_1062 spip_documents spip_documents_center media media_image media_image_jpg"><img src="spip.php?1530106727" alt="<span class=&quot;caps&quot;>JPEG</span> - 112.7&nbsp;ko" style="max-width: 670px; max-height: 10000px" width="" height=""></span><br class="autobr">

    pour une image insérée dans le corps de l’article avec

    <media1062|insert|center>

    appellés au niveau du squelette par un simple

    #TEXTE|image_reduire

    Je ne trouve pas le moyen de résoudre ce problème du coup je me suis dit que vous avez peut être une idée ?

    Répondre à ce message

  • Le 8 août à 11:33, par julien En réponse à : Acces Restreint 3.0

    Différence entre Visiteur et administrateur ?

    Sur un SPIP 3.2.1 et plugin accès restreint à jour, dans une rubrique protégée, avec l’interdiction d’accès aux documents, voici ce qu’il se passe :

    - pour un administrateur ou rédacteur : URL_DOCUMENT renvoie bien l’url vers le doc, avec ?nn/hash

    - pour un visiteur, URL_DOCUMENT renvoie une url propre composée des mots du titre du document, qui est donc l’URL enregistré pour ce document... mais qui donne une page blanche...

    Une idée pour que cela marche aussi pour les visiteurs ?

    Julien

    • Le 8 août à 12:02, par julien En réponse à : Acces Restreint 3.0

      En fait, en modifiant la fonction urls_generer_url_document() (on supprime le test avec autoriser(’voir’, ’document’, $id)), cela marche de nouveau pour les visiteurs identifiés.

      Le problème serait donc plus du coté de la fonction autoriser() de SPIP, qui n’autorise pas les visiteurs identifier à voir le document.

      Si vous avez des pistes...

    Répondre à ce message

  • Le 2 août à 17:08, par MARC En réponse à : Acces Restreint 3.0

    Bonjour,

    J’ai un problème avec ce plugin et le plugin Twitter qui envoie automatiquement des tweets à la publication des articles.

    J’ai d’ailleurs aussi posé là bas la question ... quand même !

    Ceci dit, si vous avez une idée pour résoudre élégamment le problème je suis preneur !

    En gros le plugin twitter envoie des tweets pour tous les articles même ceux qui se trouvent dans des zones réservées... c’est donc pas glop !

    dois-je surcharger le mes-options du plug twitter ?

    Merci

    Répondre à ce message

  • Le 7 mai à 11:10, par bruno En réponse à : Acces Restreint 3.0

    Bonjour,
    merci pour ce plugin
    Mais pb sous spip 3.1.7 et version 3.15.13
    Quand je change les rubriques d’une zone (ajout de nouvelles rubriques dans la zone ou suppression) les modifications ne sont pas prises en compte.
    même apres avoir vider le cache plusieurs fois

    Par avance merci
    bruno

    • Le 21 juillet à 16:17, par jfd En réponse à : Acces Restreint 3.0

      Je suis devenu fou avec ce problème, ce n’est pas spécifique à spip
      Les caches sont nombreux :
      Celui de spip évidemment
      Celui de votre navigateur également
      Ces deux caches sont faciles à vider mais il faut penser à le faire au même moment :
      -  vider le cache spip
      -  Vider le cache du navigateur
      -  réinterroger la page

      Plus vicieux mais très rare, il y a ceux inaccessibles des serveurs tels les proxys.

      certains de ces intermédiaires ne semblent pas vouloir obéir au «  ? » qui ordonne de requestionner le site.

      dans ce cas, cliquer comme un furieux sur recalculer peut fonctionner :-)

      Théoriquement, le problème n’est que sur l’ordinateur sur lequel on a travaillé et auquel le proxy ressert la page précédemment demandée et non la nouvelle. les autres ont la bonne page

    Répondre à ce message

  • Le 20 juillet à 12:03, par JPADAL En réponse à : Acces Restreint 3.0

    Bonjour

    Je viens de passer à spip 3.2 et j’ai une rubrique en accès restreint pour le public .
    Avec spip 3.0 (et 3.1) la rubrique n’apparaissait pas pour le public non enregistré, or à présent la rubrique est toujours affichée mais les gens ont un message d’erreur :

    « Erreur 401
    L’accès à cette page est restreint. Identifiez vous pour y accéder »

    Soit, mais je préférais la solution précédente plus élégante !
    Est-ce un choix ? Un bug ?
    Merci pour vos lumières.

    • Le 21 juillet à 11:47, par jfd En réponse à : Acces Restreint 3.0

      Effectivement, il y a eu des changements
      Par exemple, une rubrique ne contenant que des documents, n’est plus affichée, elle est considéré comme vide. J’ai du créer des articles pour des dizaines de docs...

      mais êtes vous sûr que cela vient pas de votre squelette (perso, dans la construction mon menu, j’ai « tout_voir »)
      et cela donne dans ce menu

      rubrique parent restreinte ou pas : elle apparaît
      rubrique fille restreinte ou pas : elle apparait
      accès à la rubrique parente :
      affiche les filles non restreintes ou la demande d’identification, s’il n’y en a pas
      Accès à la rubrique fille :
      demande d’identification, si elle est restreinte

      L’avantage, de ce fonctionnement, c’est que l’utilisateur sait qu’il y a des informations qui le concernent et que :
      -  soit, il a oublié de se connecter et il peut le faire immédiatement
      -  soit il peut faire les démarches auprès du responsable pour avoir l’autorisation d’y accéder

      Dans le cas contraire, il ignore qu’il y a du contenu potentiellement utile pour lui et votre site rate sa mission d’information. :-)

    Répondre à ce message

  • Le 2 juillet à 15:15, par robomatix En réponse à : Acces Restreint 3.0

    J’ai essayé d’interdire l’accés au docuement. L’url semble bonne, mais on peut tout de même télécharger les fichier depuis l’extérieur... ET non création des fichiers htpasswd et htpasswd-admin...
    D’ailleur un .htacess ne doit-il pas être créés aussi pour indiquer le « AuthUserFile » ?

    Merci d’avance de vos réponses.

    • Le 2 juillet à 15:46, par robomatix En réponse à : Acces Restreint 3.0

      En fait ça marche bien. Il faut juste ne pas copier le « complément » de l’url... honte à moi...
      Par contre, les fichiers viennent du site d’origine dans lequel il y avait déjà cette fonctionnalité d’implémentée.... J’espère que ça ne posera pas de problème pour la suite.

    Répondre à ce message

  • Le 24 mai à 16:38, par clyde En réponse à : Acces Restreint 3.0

    Bonjour,

    J’ai un site en SPIP 3.1.8 (PHP 5.3.3, mysql 5.0.95) avec accès restreint 3.15.14 et la protections des documents activés.

    Pas de problèmes en dev mais si je passe en prod avec un certains nombre de visiteurs (100 - 1000), il semble que le serveur ne tienne pas le choc et bloque l’accès à la base mysql.

    Dans la doc, il est indiqué ceci : "Si votre site devient très lent ou plante sans arrêt sur une erreur du type « Accès impossible à mySQL », alors votre hébergement n’est pas suffisant pour ce fonctionnement."

    Que dois-je faire modifier sur le serveur pour que l’activation du plugin soit possible ?

    merci d’avance

    • Le 15 juin à 10:51, par clyde En réponse à : Acces Restreint 3.0

      Je répond à ma question :

      J’ai réglé le problème en augmentant le max_connect_errors du serveur mysql qui était réglé sur 10... je l’ai passé à 200.

      L’IP du serveur apache/php se retrouvait blacklisté assez régulièrement.
      Voici la commande pour supprimer le blacklistage : mysqladmin -uroot flush-hosts

      et un site qui explique le max_connect_errors en prime :
      http://mysqlblog.fivefarmers.com/2013/08/08/understanding-max_connect_errors/

    Répondre à ce message

  • Le 30 mars à 16:03, par Corinne En réponse à : Acces Restreint 3.0

    Bonjour,
    Nous avons désinstallé le plugin « Accès restreint » et mis à jour la version de spip 3.2.0 en spip 3.2.1, et nous nous apercevons que tous les fichiers .PDF ne s’ouvrent plus et nous avons ce message d’erreur : fichier api-docrestreint introuvable a chaque lecture de fichier .PDF.

    Avez-vous une idée pour remédier à la situation ?
    Merci d’avance
    Corinne

    • Le 9 mai à 22:53, par pgen En réponse à : Acces Restreint 3.0

      Bonsoir,

      confronté au même souci, la solution trouvée :
      -  Dans « Configuration des accès .htaccess », cocher « Autoriser la lecture » sous « Accès aux documents joints par leur URL » ...
      ... Pas (encore) vu de « dégâts collatéraux » à cette option ... ;-)

      pgen

    Répondre à ce message

  • Le 2 mai à 10:02, par Jean Christophe Villeneuve En réponse à : Acces Restreint 3.0

    Bonjour

    Je cherche un moyen d’ajouter tous les auteurs d’un site à une zone d’accès restreint.
    J’ai bien vu la chaîne 'info_ajouter_auteurs' => 'Ajouter tous les auteurs', dans le fichier de langue mais je ne vois pas cette fonctionnalité dans le plugin.

    Une idée ?

    Répondre à ce message

  • Le 8 avril à 18:44, par eplan En réponse à : Acces Restreint 3.0

    Bonjour,

    Depuis une mise à jour de spip et d’accès restreint, je rencontre un souci d’affichage de plusieurs rubriques.

    Spip 3.2.1.
    Écran de sécurité 1.3.6.
    Ovh

    Erreur 404 sur l’espace public
    Le contenu de la rubrique apparaît dans l’espace privé (texte sans article) et s’affiche correctement en prévisualisation (différentes boucles)
    Dans accès restreint, dans la seule zone d’accès restreint, dans les droits seul « restreindre l’accès dans la partie publique » est cochée. La rubrique est décochée.

    Dans phpmyadmin, dans la colonne statut_tmp, je note un changement.
    Le statut est passé en « prépa ». En repassant en « publie » rien n’y fait.
    En ajoutant par contre un article à la rubrique, la rubrique réapparaît dans l’espace public.
    D’où ma question, se pourrait-il que la nouvelle version d’accès restreint ne permette plus la publication de rubrique sans article ?
    Merci par avance de vos réponses et réflexions
    Et quelles modifications dois-je apporter pour ne pas avoir à ajouter un article « vide » ?
    Merci

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • SkelEditor 2.0

    1er mars 2010 – 79 commentaires

    La version remaniée et enrichie du plugin, pour SPIP 2.1, qui vous permet d’éditer votre squelette directement en ligne sans passer dans le FTP Ce plugin vous permet d’éditer les fichiers du squelette courant depuis l’interface privé. Cela peut (...)

  • Albums 3

    8 août 2014 – 287 commentaires

    Le plugin « Albums » évolue dans une version 3 pour SPIP 3. Avant d’effectuer une mise à jour depuis la version 1 ou 2, consultez les notes sur la rétro-compatibilité. Les modèles, notamment, on reçut quelques changements pour la bonne cause. En (...)

  • Menu animé déroulant

    16 août 2015 – 60 commentaires

    Barre de menu dynamique multi niveaux - adaptation aisée (?) des couleurs et dimensions - convient aussi aux petits écrans (mobiles).

  • Réservations multiples

    4 juillet – commentaires

    Permettre aux utilisateurs d’effectuer de réservations multiples (réserver pour plusieurs personnes à la fois ou réserver un événement plusieurs fois) Dépendances Saisies Réservation d’événements Introduction Il y a deux manières de multiplier les (...)

  • PHANTOM (HTML5UP)

    18 juillet – 32 commentaires

    Squelette SPIP pour intégrer le modèle Phantom de HTML5UP. https://html5up.net/phantom Installation A l’activation, le plugin installe aussi les plugins suivants : crayons, favicon, metasplus+, Couleur d’objet, champs extras, SPIP reset centre (...)