SPIP-Contrib

SPIP-Contrib

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

288 Plugins, 197 contribs sur SPIP-Zone, 183 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

  • SpipClear 2.1

    18 avril 2009 – 140 commentaires

    Un squelette de blog parmi les autres, entièrement pompé (avec la permission du concepteur) sur le thème par défaut de DotClear.

  • Acces Restreint 3.0

    11 décembre 2008 – 813 commentaires

    Le plugin accès restreint permet de définir et de gérer des zones de l’espace public en accès restreint. Cette version du plugin a été redévelopée et optimisée tout spécialement pour SPIP 2.0. Il en découle une amélioration des performances sur les gros (...)

  • Mailsubscribers

    16 janvier 2013 – 328 commentaires

    Ce plugin permet de gérer les inscriptions (ou abonnements) à la diffusion de contenu par email. Mailsubscribers permet de gérer les inscriptions par Opt-in simple ou double et la désinscription par URL. Ce plugin gère également plusieurs listes de (...)

  • Minidoc : différentes vues pour les documents attachés

    3 février – commentaires

    Minidoc est un plugin pour SPIP 3.1 qui ajoute aux listes de documents attachés à des objets éditoriaux (tel que les articles), des boutons permettant de changer le type d’affichage de ces listes. Il a été intégré dans le plugin Médias inclu avec SPIP (...)

  • Agenda 2.0

    3 novembre 2008 – 1095 commentaires

    Voici la version pour SPIP 2.0 du Plugin Agenda pour SPIP 1.9.2, avec une interface remaniée pour encore plus de plaisir. Pour une documentation concernant l’utilisation d’Agenda 3 pour SPIP 3, veuillez pour l’instant vous référer à SPIP 3, Agenda (...)