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 autes, 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.
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.



Télécharger le plugin pour SPIP 2.0
Vos commentaires
# Le 16 janvier à 10:28, par nounours2
En réponse à : Acces Restreint 3.0
boujour, je tente de mettre en place ce plugin
j’ai recrée une page rubrique indépendante
avec #LOGIN_PUBLIC dedans
losque je suis déconnecter il me met erreur 404
je ne voit pas d’ou ça vient
si quelqu’un a une idée ???
l’url http://r19079.ovh.net/~jina/spip.php?page=accespro
merci beaucoup
Répondre à ce message
# Le 8 janvier à 17:07, par Jérôme
En réponse à : Acces Restreint 3.0
Bonjour et merci pour ce plugin.
Est-il possible d’insérer le formulaire de connexion pour les visiteurs autorisés dans un article spécifique, ou dans le descriptif d’une rubrique spécifique ?
Merci d’avance
Jérôme
Répondre à ce message
# Le 16 décembre 2011 à 19:28, par ?
En réponse à : Acces Restreint 3.0
Bonjour
Est-ce que les flux générés par le fichier backend sont aussi filtrés ?
Merci
Répondre à ce message
# Le 15 décembre 2011 à 10:06, par zouille
En réponse à : Acces Restreint 3.0
j’ai une autre question
est ce que c’est possible de tester le login en fonction de la zone ?
car quand je me connecte à une rubrique (zone X) et que le login + mdp ne correspond pas à cette zone (mais l’auteur existe), j’ai une page blanche sans de formulaire
<?php $login = "#SESSION{'login'}"; ?>
<?php if ($login) { ?>
contenu de la rubrique
<? } else { ?>
[(#LOGIN_PUBLIC{spip.php?rubrique7})]
<? } ?>
Merci !
Répondre à ce message
# Le 14 décembre 2011 à 18:42, par zouille
En réponse à : Acces Restreint 3.0
Bonjour à tous,
J’utilise ce plugin pour restreindre certaines rubriques, à certains auteurs, dans la partie privée.
J’ai donc un gabarit rubrique qui répertorie les sous rubriques.
Ces sous rubriques doivent être donc accessibles à certains auteurs sauf que quand :
- je mets « Restreindre l’accès à cette zone dans la partie publique » ces sous rubriques ne s’affichent plus du tout alors que ce que je veux c’est que lorsque je clique sur cette sous rubrique j’ai mon formulaire d’authentification.
- je décoche - je mets « Restreindre l’accès à cette zone dans la partie publique », mes sous rubriques reviennent mais n’importe qui peut se logguer :(
Donc je en sais pas quoi faire et ’jen ai vraiment besoin au plus vite, du moins trouver une solution ou une bidouille..
merci beaucoup
# Le 14 décembre 2011 à 18:43, par zouille
En réponse à : Acces Restreint 3.0
oups dans « J’utilise ce plugin pour restreindre certaines rubriques, à certains auteurs, dans la partie publique. »
# Le 15 décembre 2011 à 10:03, par zouille
En réponse à : Acces Restreint 3.0
bon, j’ai finalement mis les titres de rubriques en « dur »
Répondre à ce message
# Le 12 décembre 2011 à 23:25, par Claude21
En réponse à : Acces Restreint 3.0
Bonjour, quelqu’un a-t-il rencontré des problèmes avec Google Chrome ? Avec Accès restreint 3, Google Chrome n’affiche même pas le formulaire quand on clique sur « se connecter ». Pb qui m’a été signalé par des utilisateurs, j’ai installé GC et testé : le formulaire s’est affiché une fois et n’a pas eu d’effet après validation... Puis impossible de réafficher le formulaire pour se logger. C’est pourtant tout bon avec IE et Firefox. Une idée ? Merci.
Nota : niveau débutant moyen...
# Le 12 décembre 2011 à 23:32, par Claude21
En réponse à : Acces Restreint 3.0
Re bonsoir, après un autre essai, j’observe pire : l’accès avec Google Chrome à l’espace privé est « libre » quand on tape l’adresse « monsite/ecrire »...
Répondre à ce message
# Le 4 décembre 2011 à 00:05, par rburton
En réponse à : Acces Restreint 3.0
Bonjour,
la solution doit être simple mais il doit se faire tard et je trouve pas :
comment faire pour interdire à un rédacteur TOUTES les rubriques sauf celle qui lui est dédiée, sachant que j’aurai probablement plus de mille rédacteurs.
J’ai essayé en créant deux zones
une interdite à tout le monde (sauf l’admin)
et une zone par rédacteur autorisant celui-ci et seulement celui-ci à une rubrique particulière à lui dédiée ....
mais ça marche pas
Merci d’avance,
RB
# Le 6 décembre 2011 à 20:12, par Cyril Marion
En réponse à : Acces Restreint 3.0
Bonsoir,
Oui, c’est possible, en utilisant une fonctionnalité développée par marcimat dans le commit 46261 et qui permet d’assouplir les restrictions d’accès.
Le réglage validant cette fonctionnalité est à placer dans le fichier « mes_options.php » dans le dossier /config/. Il s’écrit ainsi :
Ensuite il suffit de créer une zone 1 « Tout » où tu coches « racine du site » (ne pas oublier de t’ajouter à la zone...) et qui va protéger tout le site.
Puis tu crées une zone dédiée à chaque admin, où tu coches seulement sa rubrique attribuée. Dès lors que sa rubrique n’aura pas été spécifiquement interdite par la zone 1, il y aura accès.
J’utilise cette astuce avec bonheur pour les Amis de la Terre et pour Concurrences
Bonne utilisation,
(et encore merci marcimat !)
Répondre à ce message
# Le 30 novembre 2011 à 17:21, par Pascale
En réponse à : Acces Restreint 3.0
Bonjour,
J’effectue un sauvetage de site (serveur planté) à partir d’un spip218. Tous les plugins se réinstallent sans problème sauf Accès restreint : dès son activation, l’espace d’admin est envahi de message d’erreurs et il n’est plus possible d’accéder à quoi que ce soit. Après sa suppression par ftp, on repasse à la normale.
A noter que le plugin est utilisé pour restreindre l’accès dans la partie privée selon les auteurs. J’ai fait le dump de la base avant la réactivation de ce plugin, c’est peut-être cet ordre qui coince ?
Sinon, le nouvel hébergeur (ovh) offre une configuration qui me semble correspondre aux besoins du plugin.
Ou alors, c’est autre chose, mais quoi donc ?
Merci d’avance
# Le 30 novembre 2011 à 18:15, par Pascale
En réponse à : Acces Restreint 3.0
C’était bien une question d’ordre : il faut activer le plugin avant d’importer un dump sinon c’est la catastrophe.
Si ça peut servir à d’autres…
Répondre à ce message
# Le 25 novembre 2011 à 10:58, par LP
En réponse à : Acces Restreint 3.0
Une version pour spip 3 est-elle en route ?
# Le 25 novembre 2011 à 13:01, par LP
En réponse à : Acces Restreint 3.0
J’en ai trouvé une qui s’installe depuis la zone, mais la fonction « créer une nouvelle zone » ne marche pas >> Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, null@easy-hebergement.fr and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
J’en aurai vraiment besoin pour mon site car j’aimerais qu’une seul rubrique puisse être utilisée par les rédacteurs , à moins qu’il y est une autre solution ?
ce serait peut être utile pour la version standard de spip que l’ administrateur principal puisse gérer depuis le panneau configuration les droits d’accès aux différentes rubriques par les rédacteurs à moins que cela existe déjà et que je n’ai pas trouvé ?
En tout cas merci a tous les programmateurs de spip qui font un formidable travail, j’ai essayé bcp de cms et je reviens toujours vers spip car j’ai l’impression de faire presque tout ce que je veux avec sans trop se prendre la tête.
Répondre à ce message
# Le 24 novembre 2011 à 10:17, par jrc
En réponse à : Acces Restreint 3.0
Rebonjour,
J’ai trouvé : j’ai tout réinstallé SAUF BIEN SUR LE REPERTOIRE IMG. Je viens de m’apercevoir que lors de ma tentative d’emploi de Accès_restreint sous mysql 4, des fichiers .htacces contenant « deny from all » avaient été ajoutés aux sous-répertoires de IMG, et ce sont eux qui empêché mes images et vidéos d’être affichés...
Je suis confus de n’avoir pas pensé à cela avant. Puisse cette histoire servir à d’autres...
Pardon pour le temps perdu
Merci
Jean
Répondre à ce message