SPIP-Contrib

SPIP-Contrib

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

286 Plugins, 197 contribs sur SPIP-Zone, 259 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

  • Brownie

    6 juillet 2012 – 43 commentaires

    Brownie est une adaptation pour Zpip du thème du même nom initialement développé par Egrappler.com. Présentation Brownie est un thème Responsive à deux colonnes. La démonstration ci-dessous utilise la version 2.0.0 de Brownie, la dist de SPIP3 (...)

  • Métas +

    3 décembre – 13 commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

  • Acces Restreint 3.0

    11 décembre 2008 – 785 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 (...)

  • Compositions 2 et 3

    25 mars 2011 – 176 commentaires

    Ce plugin vous permet de définir plusieurs variantes de squelettes (nommées compositions) pour un même type d’objet SPIP. Dans l’espace privé, il est alors possible de choisir, dans un menu déroulant, la composition qu’on veut attribuer à chaque (...)

  • Configurer Sparkpost

    25 avril – 18 commentaires

    N’hésitez pas à relire le préambule de cette rubrique avant de créer un compte sur une plateforme tierce . Présentation Sparkpost est une société d’envoi de mailing https://www.sparkpost.com/ Sur les petits volumes ( <100.000 emails / mois), (...)

Ça spipe par là