SPIP-Contrib

SPIP-Contrib

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

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

Accueil > Auteurs, authentification et autorisations > Accès restreints > Un niveau d’accès sur les objets

Un niveau d’accès sur les objets

27 mars 2009 – par Guytarr – commentaires

3 votes

Une colonne de type int, représentant un niveau d’accès, ajoutée à la table auteur/visiteur et à la table d’un objet (article, rubrique, mot clé, brève...) permet de protéger ses objets en fonction de l’auteur/visiteur authentifié.

Configuration nécessaire - préalable

  • Spip 2.x (gestion des colonnes supplémentaires dans les boucles)
  • Droits pour ajouter une colonne dans les tables spip
  • Plugins champs extras 2
  • Modifier les boucles en ajoutant un critère
  • Fonctionne uniquement dans un site avec une authentification, sinon, aucun intérêt.

Etude de cas

J’ai eu récemment à mettre en place un extranet avec des articles accessibles à certains visiteurs authentifiés sur un SPIP 2.x

Ces contenus pouvaient se trouver n’importe où, restreindre avec l’accès restreint v3 les rubriques ne suffisait donc pas. J’ai donc crée une colonne supplémentaire dans la table auteur, « nivo_acces », et une colonne de même type dans la table des articles, « nivo_acces » également, histoire de faire simple. Ces deux colonnes ont comme valeur 1 par défaut.

En utilisant le plugins champs extras, j’ai ajouté la gestion de ces champs pour l’interface privée.

Ensuite dans toutes mes boucles articles, j’utilise la comparaison de ce critère entre le niveau de l’article et celui de l’auteur :

BOUCLE_art(ARTICLES){nivo_acces<=#SESSION{nivo_acces}}...

Et voilà. Temps de déploiement : 1/2h maxi en utilisant un rechercher remplacer sur les boucles articles (applicable à n’importe quel objet spip hors auteur) avec un bon éditeur de texte. Après, il faut bien sûr affecter les niveau d’accès désiré aux auteurs et aux articles.
L’avantage, c’est que les niveaux d’accès sont infini (ça part de 1 à n).
L’inconvénient, c’est qu’ils sont « hiérarchisé » (ce ne sont pas des « groupes »).

Cette contribution est intrusive, puisqu’elle demande l’ajout d’un critère dans les boucles.

Dernière modification de cette page le 27 mars 2009

Retour en haut de la page

Vos commentaires

  • Le 25 mai 2010 à 21:39, par DD En réponse à : Un niveau d’accès sur les objets

    Bonjour,

    je voulais tester cette restriction d’accès sur l’objet « DOCUMENT » mais je vois que document n’est pas un objet listé dans la config des champs extra.
    tant pis..
    dd

    • Le 3 février 2011 à 07:59, par Pi r En réponse à : Un niveau d’accès sur les objets

      ça, c’est fait !

    • Le 17 mars 2011 à 12:11, par seds En réponse à : Un niveau d’accès sur les objets

      Je viens d’installer Champs Extras 2 sous spip 2.1.8, mais je ne vois toujours pas l’objet Document dans la liste d’objet...?

      Ai-je bien compris le post de Pi r ?

      par ailleurs, dans le cadre d’un intranet, j’essaie de trouvé une solution pour que les docs joints ne soient pas accessibles par directement leurs urls, et uniquement par des visiteurs authentifiés.
      j’ai testé la protection du répertoire, ma création de .htpasswd a échoué et j’ai abandonné quand j’ai vu ce post.

      Il me reste la solution proposé ici, même si je ne sais pas très bien ce que je fais.

    Répondre à ce message

  • Le 8 mai 2009 à 07:23, par bd13 En réponse à : Un niveau d’accès sur les objets

    L’idée est très bonne, mais il est tout à fait possible de gérer des droits d’accès par groupe en utilisant les mêmes informations. Au lieu de noté un niveau d’accès tu donne en binaire quels sont les groupes qui ont accès. (ex 5 en binaire 101, va autoriser le groupe 1 et 3 mais bloqué le groupe 2) Pour l’utilisateur il faut alors définir de la même façon les groupes auxquels il appartient (ex admin 255 en binaire 11111111, appartient au groupe 1 à 8) Il suffit ensuite de déterminer si au minimum un bit est à 1 sur les 2 valeurs pour donner l’accès. (OU bit à bit)

    de cette façon tu peux gérer tes droits par groupes sans héirarchie

    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

  • 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 (...)

  • SPIPer Ipsum, l’évangile au quotidien

    28 décembre 2009 – 89 commentaires

    Ce plugin permet d’afficher les différentes lectures de l’évangile du jour et le saint du jour selon le calendrier fixé par l’Eglise catholique. Ce service est proposé par le site de L’Evangile au Quotidien dans plusieurs langues. Description Le (...)

  • ciparam : plugin « Configurateur de squelettes »

    29 novembre 2010 – 15 commentaires

    Ce plugin offre un mécanisme de sélection de forme de rubrique ou d’article, un mécanisme de variantes de chartes graphiques, la possibilité de choisir l’ordre de tri des articles dans les rubriques, un mécanisme de paramétrage de la page d’accueil, (...)