Gestion des autorisations d’accès (le retour)

Ceci est une archive périmée mais qui reste intéressante, parfois autant pour l’article que les commentaires associés.

Demande récurrente sur la liste, la gestion des droits d’accès a déjà fait l’objet de diverses contributions. La présente ne fait que reprendre les principes en apportant quelques simplifications.

Principale nouveauté, l’utilisation du tableau $contexte_inclus pour récupérer le nom de l’utilisateur connecté et son statut. Les éléments du tableau sont ensuite récupérer dans la page à l’aide d’un simple INCLURE.

Dans le .php :

<?php
$contexte_inclus['nom']=$GLOBALS['auteur_session']['nom'];
$contexte_inclus['statut']=$GLOBALS['auteur_session']['statut'];
$fond = "authenticate";
$delais = 1*1;

include ("inc-public.php3");
?>

Et dans le .html, la boucle suivante :

<BOUCLE_qui(AUTEURS){tout}{nom}>
	<div class="petitexte" style="padding:5px;"><strong>#NOM</strong> vous êtes authentifié [<a href="#URL_LOGOUT" class="lpetitexte">se déconnecter</a>]
	<BOUCLE_moi(AUTEURS){tout}{id_auteur}{statut==0minirezo}> 
	<a href="./ecrire" class="lpetitexte">[administration]</a>
	</BOUCLE_moi>
	</B_moi>
	<//B_moi>
	</div>
</BOUCLE_qui>

Le principe de fonctionnement de l’ensemble est classique :
-  Il faut créer un champs extra dans la rubrique avec les valeurs : tout_public ou restreint. Si jamais vous n’avez pas de fichier mes_options.php3, une version minimaliste fait partie du dossier à télécharger.
-  Ensuite les scripts, qui font partie du fichier authenticate.html, se chargent d’aller chercher la valeur du champs dans l’id_rubrique de l’article, puis dans l’id_rubrique de la rubrique parente et enfin dans le secteur.

De la même façon que sur mon site, si l’accès est restreint, un affichage spécifique apparaît dans la page rubrique, dont le contenu (liste d’articles) reste affichable. Si on demande l’affichage d’un article faisant partie d’une rubrique à accès restreint, la page comporte un message puis le titre et les 250 premiers caractères du texte. Cette solution a été choisie pour permettre le passage de Google et le référencement de certaines de ces pages. il est facile de supprimer ou modifier ces paramètres dans le fichier restrict_access_art.php, en décommentant les lignes contenant des exit ; (12,24,39,53).

En clair, vous devez recopier les 5 fichiers de l’archive à la racine de votre site et utiliser une simple ligne : <INCLURE(authenticate.php3)> à l’intérieur de la page dont vous voulez restreindre l’accès.

Rappel important, la contribution ne fonctionne qu’avec un champs extra nommé accessibility, au niveau des rubriques. Dans la version 1.8 un nouveau champ de la table rubrique peut remplacer le champ extra. Cependant, il n’existe pas d’interface graphique pour remplir ces nouveaux champ.

Ne pas oublier d’activer les forums sur abonnement pour bénéficier du statut visiteur qu’offre SPIP.

Le fichier authenticate.html prévoit la possibilité de détecter si l’utilisateur est ou non authentifié sur une page autre que article ou rubrique. Dans ce cas, le texte offrant la possibilité de s’authentifier est affiché, sans activer la recherche du champs extra.

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom