SPIP-Contrib

SPIP-Contrib

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

288 Plugins, 197 contribs sur SPIP-Zone, 212 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 ?
  • [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 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

  • Le plugin ZotSpip

    28 mai 2012 – 138 commentaires

    Synchronise Spip avec une bibliothèque (personnelle ou partagée) de références bibliographiques Zotero. Utilisez Zotero pour gérer / importer / rédiger vos références bibliographiques, puis incorporez vos références bibliographiques dans votre Spip avec (...)

  • ScolaSPIP 4

    19 janvier 2016 – 213 commentaires

    ScolaSPIP est plugin-squelette responsive personnalisable pour sites Web d’établissements scolaires basé sur SPIPr Présentation de ScolaSPIP Ce plugin pour SPIP 3 est développé par la Dane de l’académie de Versailles pour les webmestres de cette (...)

  • MediaBox

    10 mai 2010 – 514 commentaires

    Avertissement Le présent plugin est installé et activé par défaut sur toute les version de SPIP > 3.0. Inutile donc de l’installer manuellement sauf si vous utilisez SPIP 2.1. Aperçu La MediaBox est une Boîte multimédia polyvalente et (...)

  • Sommaire automatique

    31 janvier 2013 – 14 commentaires

    Ce plugin repère les intertitres des textes de vos articles et s’en sert pour génèrer un sommaire. Ce dernier peut être inséré automatiquement au début de chaque article, ou utilisé dans les squelettes pour générer un sommaire sur n’importe quel autre (...)

  • La Fabrique

    20 avril 2012 – 316 commentaires

    La Fabrique est un outil pour webmestres ou développeurs qui souhaitent créer des plugins. La Fabrique est capable de générer le code source minimal d’un plugin pour SPIP 3 (elle accélère donc le démarrage d’un plugin) et peut s’occuper également de (...)

Ça spipe par là