Accueil > Articles > Le plugin accès restreint
Pour plusieurs clients, j’ai été amené à utiliser le plugin « Acces Restreint » dans les cas suivants :
– une école veut mettre des textes en lignes pour ses élèves.
– un professeur veut mettre des cours à la disposition de ses élèves, mais d’eux seuls (il ne souhaite pas les diffuser largement).
– une association veut réserver une zone à ses membres, et à eux seuls.
Dans le cadre du professeur qui ne veut diffuser ses cours qu’à ses élèves, et à personne d’autre, j’ai pris l’option de ne pas faire apparaître la rubrique concernée le temps que l’élève n’est pas connecté.
C’est la configuration la plus simple : l’élève sait qu’il doit se connecter, et lorsqu’il le fait, la rubrique « Cours » apparaît.
Cette façon de procéder a un inconvénient : il faut que l’élève se rappelle qu’il doit se connecter. S’il ne s’en souvient pas, il va chercher la rubrique correspondante, et ne va pas la trouver.
Dans les autres cas, en particulier pour l’association qui veut réserver une zone à ses membres, j’ai eu recours à un script présenté dans la contribution LOGIN_PUBLIC et contenu à accès restreint.
C’est ce qu’il y a de mieux. Le code utilisé est le suivant :
[(#SESSION|oui)
<p>Vous êtes authentifié,<a href='#URL_LOGOUT'>cliquez ici pour vous déconnecter</a></p>
<p>... ici le contenu en accès restreint, réservé aux membres de l'Association des Anciens de Hautefeuille</p>
<p>Les champs marqués d'un « * » sont obligatoires</p>
#FORMULAIRE_EDITER_AUTEUR{#SESSION{id_auteur}}]
[(#SESSION|non)<p>Cette partie est en accès restreint. Pour accéder à votre fiche personnelle, connectez-vous. Si vous n'êtes pas inscrit, allez sur la page
<a href="#URL_PAGE{page_inscription}">Inscription</a> pour recevoir votre mot de passe]
(ça marche, mais il faut éviter le PHP dans les squelettes, comme le commentaire de RealET ci-dessous me l’a rappelé)
Le principe consiste à utiliser un test PHP dans le code de votre rubrique, en utilisant la balise #SESSION. Si vous êtes connecté, la page s’affiche, si vous n’êtes pas connecté, un message vous invite à le faire.
Le code est reproduit ici :
<?php if ($auteur_session) { ?>
<p>Vous êtes authentifié,
<a href='#URL_LOGOUT'>cliquez ici pour vous déconnecter</a></p>
<p>Vous êtes connecté. Voici la liste des membres de l'Association des Anciens de Hautefeuille.</p>
[(ici, je mets le code de ma rubrique)]
<?php } else { ?>
<p>Cette partie est en accès restreint. Pour accéder à la liste des membres, connectez-vous. Si vous n'êtes pas inscrit, allez sur la page <a href="#URL_PAGE{page_inscription}">Inscription</a> pour recevoir votre mot de passe</p>
<?php } ?>
Pour ce qui est de la connexion, deux possibilités :
– Soit les élèves ont tous le même login et mot de passe. Cela suffit largement dans le cadre de la consultation d’articles par exemple.
– Soit chaque élève a son login et son mot de passe, auquel cas il doit d’abord s’inscrire et compléter sa fiche « visiteur ».
D'autres articles avec le mot clé « Spip »
Je viens de tenter une installation de Spip 3.2.19 avec Checkout, comme décrit dans mon article (…)
Spip est disponible sous Github ; pour tout installer (core + plugin dist + squelettes dist) on (…)
Je note ici tout ce qui me semble nécessaire pour coder proprement la balise #LOGO_ARTICLE pour (…)
J’ai découvert Grunt en étudiant la création de site sous Thélia 2. Un peu compliqué à prendre (…)