SPIP - Contrib

[ar] [en] [es] [fr] [it]



Accueil du site > Auteurs et Authentification > 90. Archives Auteurs et Authentification

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

dimanche 28 août 2005, par Yorghos. Dernier ajout lundi 29 août 2005


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.

P.-S.

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.


Répondre à cet article

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

    13 octobre 2006 12:18, par bgiorda

    Bonjour,

    J’ai installé, comme indiqué, les fichiers dans mon répertoire squelette et modifier mon fichier mes_options.php3. Après quelques problèmes (les champs extras apparemment mal déclaré pour SPIP 1.8.3) maintenant je peux choisir dans l’espace privé entre accessibility = "restreint" ou "tout_public" ou "en_travaux". Le problème vient du fait que lorsque je définis une rubrique avec accessibility="restreint", dans l’espace public j’arrive toujours à voir les articles de cette rubrique (j’ai vidé les caches de SPIP et du navigateur). J’ai même fait afficher la valeur de ce champ accessibility sur ma page et, apparement il n’est pas défini. Que puis-je faire pour que ça marche ? Merci d’avance.

    Répondre à ce message

    • Gestion des autorisations d’accès (le retour) 12 décembre 2006 18:54, par allsec

      Bonjour,

      Tout d’abord merci pour cette contrib qui a l’air fort intéressante et correspond tout à fait à ce qu’il me fallait.

      Je suis sous spip 1.9.1, J’ai bien suivi toutes les opérations décrites aussi pour mon squelette avec les fichiers dans le repertoire de mon squelette, authenticate.php3 dans la racine et le fichier mes options dans le répertoire écrire . Cependant aucune option n’apparait

      Est-ce le code qui doit être modifié ?

      <?php
      $GLOBALS
      ['champs_extra'] = Array(
          
      'rubriques'=>Array(
              
      "accessibility"=>"select|propre|||tout_public,restreint,en_travaux|",
          ),
      );

      $GLOBALS['champs_extra_proposes'] = Array(
          
      'rubriques'=>Array(
              
      'tous'=>'accessibility',
          ),
      );
      ?>

      Merci d’avance

      Répondre à ce message

    Retour au début des forums

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

    7 octobre 2005 17:57, par aurélien

    bonjour, j’ai un problème avec cette contribution. Dans le champ de séléction accessibility, il n’y a pas de choix possible.

    Et lorsque je clique sur le vide, des rubriques restreintes (je ne sais pas comment d’ailleurs) passent en tout_public. D’où vient ce problème, cela a-t-il un rapport avec la mise en garde sur Spip 1.8 ? (j’utilise la 1.8.1)

    Une deuxième question : les rubriques restreintes sont tout de meme accessibles sans authentification, faut-il créer un squelette "accés restreint" en paralléle du "normal" ?

    Merci pour votre réponse, je patauge !!!

    Répondre à ce message

    • Pour ce qui concerne la liste déroulante des valeurs d’accessibility, ceci provient de la gestion des extras. Dans mon cas, j’utilise toujours les fichiers additionels de l’interface graphique des extras, une contrib qui a un âge certain. Si les valeurs sont bien indiqués dans mes_options.php3 (fichier dans le zip), les valeurs deviennent sélectionnables dans article_edit.php3.

      En ce qui concerne la deuxième question, j’explique que l’affichage des rubriques restreintes (liste d’articles et descriptif) correspond à un choix volontaire. Je montre de quoi il s’agit mais je n’offre pas l’accès aux articles complets. Il est bien expliquer qu’il faut décommenter certaines lignes du script qui gère les restrictions pour interdire l’affichage.

      Répondre à ce message

    Retour au début des forums

  • compléments

    2 septembre 2005 18:17, par DoriaN

    La restriction d’accès fonctionne avec des champs EXTRAS (encore un truc un peu obscur de spip...) ceci implique donc la présence d’un fichier mes_options.php3 dans le dossier ecrire, ce fichier sert, entre autre, à définir ces fameux champs extras (si besoin chercher des infos sur spip-contrib )

    en relisant effectivement c’est assez peu expliqué sur la contrib, mais le fichier mes_options fourni dans le zip doit suffir

    une fois cela en place un champ "accessibility", au niveau des rubriques, permet de choisir le statut de la rubrique : "tout public" ou "restreint" (vider éventuellement le cache du navigateur...)

    dans le squelette la seule ligne <INCLURE(authenticate.php3)> suffit

    c’est pas si dur !

    Répondre à ce message

    • > autorisation d’accés 22 septembre 2005 18:41

      Bonjour,

      Je suis débutant dans spip et je ne comprends pas ou la ligne doit etre mise dans le squelette. Merci de bien vouloir m’aider

      Répondre à ce message

      • > autorisation d’accés 23 septembre 2005 12:15

        La ligne peut être mise n’importe où. L’emplacement n’est déterminé que par l’affichage. Moi je le positionne en haut à gauche dans un cadre qui affiche l’utilisateur connecté. Il est également possible de le positionner dans un header. Il faut quand même qu’il soit bien visible pour que l’utilisateur introduise ses identifiants et qu’il se retrouve à un endroit similaire dans toutes les pages à restreindre.

        Répondre à ce message

        • > autorisation d’accés 23 septembre 2005 18:49

          Bonjour,

          je pense que je me suis mal exprimé en fait c’est la procédure que je ne comprends pas. Aprés avoir télécharger le zip j’ai mis tous ces fichiers dans le repertoire "ecrire". en effet lors de la création d’une rubrique il y a bien le champ extra crée avec l’accés restreint. mais ensuite cela ne fonctionne pas même après avoir rempli ce champ. si vous pouviez m’indiquer la procédure pas à pas je vous en serai trés reconnaissant. Merci d’avance.

          Répondre à ce message

          • > autorisation d’accés 23 septembre 2005 20:04

            Dans ecrire il faut mettre le mes_options.php3, c’est à dire la déclaration des champs extra. Le reste se passe sur les squelettes, donc à la racine su site ou dans le dossier squelettes, mais surtout pas dans ecrire. Au même endroit que article.php3 pur authenticate.php3 (à la racine du site), ou dans le dossier qui contient les .html (article.html, rubrique.html) pour authenticate.html

            Répondre à ce message

    Retour au début des forums



Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | Charte et fonctionnement SPIP-Contrib | SPIP | L'autre.net