Les Permissions



Description :

Le module "Permissions" sert à attribuer des droits bien spécifiques à un usager ou à un groupe d'usagers de votre site. Il permet de déterminer si un visiteur ou un groupe peut lire, commenter, accéder à telle ou telle rubrique, à un forum ou une galerie mais aussi permettre à un membre d'écrire un article ou à un co-administrateur d'accéder qu'à certaines parties de l'administration du site.
Ce module fonctionne en binôme avec le module "Groupes".

Fonctionnement :

L'administration du module "Permissions" est décomposée en sept sections :
  • Séquence numéroté : du numéro un étant la première permission au dernier numéro la moins importante.
  • image Séquence avec des flêches qui permettent de changer l'ordre des permissions.
  • Groupe : montre quel groupe est affecté par la permission de la méme ligne. image
  • Composant : le module ou bloc concernné par la permission.
  • Instance : la section du module ou bloc affecté par la permission.
  • Niveau des droits : attribuer un droit particulier ou non au groupe concerné dans la même ligne.
  • Opérations :
    • image Le bouton "insérez la permission avant" permet d'insérer une nouvelle permission juste avant une autre permission déjà existante.
    • image Le bouton"Editer" permet de modifier la permission
    • image Le bouton "Supprimer" d'effacer définitivement la permission.

Nativement, il existe trois groupes d'utilisateurs :
  • Anonyme : les simples visiteurs du site dont les droits sont essentiellement la lecture du site.
  • Users : ce groupe peut avoir des privilèges plus étendus que les anonymes comme proposer des articles, nouvelles, liens, téléchargements, commenter ou voter par exemple.
  • Admins : accés total au site et à son administration. Ce groupe à tout les privilèges, le webmaster du site est d'office assigné à ce groupe.

ATTENTION !
Tout changement de nom d'un groupe dans le module "Groupes" modifie ou annule toutes les permissions qui lui était attribuer. Changer Admins par Patrons, par exemple, vous empêchera d'accéder à l'administration si au préalable vous n'avez pas attibuer les permissions adéquates au groupe modiifer dans le module "Permissions".

Les droits fonctionnent en cascade, c'est-à-dire qu'une permission de lecture pour le groupe anonyme au-dessus de la permission commenter pour ce même groupe peut annuler ce dernier droit. L'ordre est donc important.

Les permissions suivent une régle d'écriture bien précise dont un exemple pour chaque module vous est donné.
Cliquez sur Composant ou Instance pour savoir ce que vous devez mettre dans chacun de ces deux champs correspondant.
En effet, une fenêtre pop-up s'ouvrira et vous donnera un tableau de tout les composants et instances dont vous pouvez disposer.

Les permissions par défaut:

Voici le tableau des permissions que vous avez par défaut en créant votre site:
No Groupe Composant Instance Niveau
1 Admins .* .* Admin
2 Tous les groupes Menublock::


Vous pouvez remarquer que l'ordre des permissions joue un rôle primordial dans son efficacité.
  • La ligne 1 permet aux administrateurs du site d'avoir le plein accés au site et notanment au module administration.
  • La ligne 2 empêche tous les groupes (membres, visiteurs) de pouvoir avoir accés au module d'administration. Cette permission est placé juste n dessous de la précédente afin de ne pas en interdire aussi l'accés aux administrateurs.
  • La ligne 3 autorise les membres du site à poster des commentaires, proposer une nouvelle, voter par exemple.
  • La ligne 4 rend les liens Déconnexion, Soumettre une nouvelle et Mon compte invisibles et inaccessible aux visiteurs.
  • La ligne 5 permet aux visiteurs de lire le contenu complet du site sauf bien sur ce qui n'est pas autorisé par les permissions 2 et 4.

Créer une permission :

Avant tout créez un nouveau groupe dans l'admin du module "Groupes". Par exemple, cliquez sur le lien "créer le groupe" nommé le "co-admins" puis valider.
Ensuite ajoutez-y les membres que vous désirez, validez et retournez à l'administration du module "Permissions".
  • Cliquez sur "Nouveau droit de groupe" ou, mieux, cliquez sur le premier des 3 symboles complétement à droite image à la ligne correspond à une permission existante et dont vous voulez que votre nouvelle permission soit avant celle-ci.
  • Choisissez le groupe "co-admins", le composant Settings:: (par ex) et l'instance .* puis déroulez le champ jusqu'à la ligne administrer. Validez ensuite le tout.
Groupe Composant Instance Niveau des droits
Co-admins Settings:: .*Administrer

  • Votre nouvelle permission est créée, il ne reste plus qu'à vérifier sa validité.
  • Vous devez créer une nouvelle permission permettant d'accéder à l'admin: créez cette permission au-dessus de celle que vous venez de réaliser:
Groupe Composant Instance Niveau des droits
Co-admins Menublock::

Validez.
  • Vérifiez ensuite avec un des membres du groupe "Co-admins" que le seul accés à l'admin est bien le module Settings (Préférences).

Vous pouvez réaliser une permission permettant aux visiteurs de voter au sondage proposé sur votre site.
La ligne sera à insérer avant toutes les permissions des visiteurs avec le bouton image
  • Voici la syntaxe à utiliser:
Groupe Composant Instance Niveau des droits
Visiteurs Polls:: .* Commente


  • Si vous voulez autoriser le vote que sur un sondage bien précis vous devez structurer la permission comme suit:
Groupe Composant Instance Niveau des droits
Visiteurs Polls:: Sondage::2 Commenter

* Sondage est le titre de votre bloc affichant le sondage en cours, 2 l'ID de votre sondage.

Des menus sous permissions :


Le bloc de menu principal par défaut est régi par des permissions basiques : tous les liens du menu sont disponible et certains liens sont invisibles soit aux visiteurs, soit aux membres par le jeu des eprmissions établies.
Cependant il est possible d'élaborer un système de blocs de menu plus avancé. En créant des menus spécifiques à chaque groupe.
Un Menu Principal pour les visiteurs, un pour les membres, encore un autre pour les admins et enfin un, éventuellement, pour les co-admins.
Ce système permet de vraiment mettre l'essentiel pour un groupe donné et aussi d'avoir un bloc de menu au titre et accessoirement au design bien déterminé.
Ce petit cours complet va vous expliquer comment réaliser les permissions pour plusieurs menus afin de gérer leur affichage selon la catégorie du groupe.
Vous pouvez réaliser cette application avant ou après avoir créé les menus dans l'administration des blocs: voir créer un menu (faire lien)!!

Créations des permissions

Créons par exemple un menu "Menu Membres", un "Menu Admins et un dernier "Menu Co-admins". Le menu principal est conservé et sera édite pour supprimer les liens inutiles pour le groupe "Visiteurs" et en rajouter si besoin de nouveaux.
En premier lieu, nous allons cacher le bloc Menu Principal aux administrateurs du site.

  1. Aller à l'administration des "Permissions" puis cliquer sur image de la première ligne de vos permissions: cela va insérer votre nouvelle permission juste avant celle qui existe.
  2. Choisissez le groupe "Admins" dans la liste déroulante de la colonne "Groupe".
  3. Dans la colonne "Composant" insérer "Menublock::". Ce composant gère les permissions de tous les blocs menus que vous avez créé dans l'administrations des blocs.
  4. Dans la colonne "instance" insérer le nom du bloc qui va être géré par la permission : en l'occurence ici "Menu Principal:". Attention! N'oubliez pas les deux petits points à la fin!
  5. Régler le niveau des droits sur "Aucun" puisque le but est de masquer le menu aux admins.

Groupe Composant Instance Niveau des droits
Admins Menublock:: Menu principal: Aucun


Maintenant il faut réaliser la même opération mais pour le groupe "Membres"
  1. Insérer la permission avec le bouton image de la première ligne concernant les permissions des Membres.
  2. Choisir le groupe "Membres" dans la liste déroulante.
  3. Reprendre les étapes réalisées pour la création de la permission des "Admins".

Groupe Composant Instance Niveau des droits
Membres Menublock:: Menu principal: Aucun


Il faut maintenant rendre invisible le menu des administrateurs aux autres groupes.
Vous avez pu voir que dans la liste des groupes vous aviez le groupe "Tous les groupes". Cela permet d'appliquer une permission commune à tous les groupes existants sur votre site.
Cependant il faudra l'insérer après les permissions du groupe "Admins".
  1. Cliquer sur image de la première permission du groupe "Tous les groupes".
  2. Choisir dans la liste déroulante de la colonne groupe "Tous les groupes".
  3. Pour la colonne Composant, insérer dans le champ "Menublock" et la colonne Instance mettre "Menu Admins" ou le nom que vous avez donné au bloc menu des admins.
  4. Le niveau des droits sera réglé sur "Aucun".

Groupe Composant Instance Niveau des droits
Tous les groupes Menublock:: Menu Admins: Aucun


Enfin le menu des membres doit aussi être masqué aux visiteurs et aux admins. Suivre les mêmes procédures que précédenment.
Placez la permission masquant le menu des membres aux admins en tête des "permissions admins" et avant ou après celle masquant le menu principal. LA permission cachant le menu aux visiteurs sera à placer en tête des permissions des visiteurs. Vous devriez obtenir ceci:
  • Permission Admins
Groupe Composant Instance Niveau des droits
Admins Menublock:: Menu Membres: Aucun

  • Permission Visiteurs
Groupe Composant Instance Niveau des droits
Visiteurs Menublock:: Menu Membres: Aucun


Si vous avez créer un menu pour un autre groupe (ex.: Co-admins) vous devez créer un menu dédié et ensuite réalisé une permission pour ce menu.
Après avoir effectué les manipulations détaillées au-dessus, cela devrait être une formalité.

Si vous avez le nom d'un bloc écrit en plusieurs mots, mettez ce bloc entre guillemets: ex: "mon bloc".

Récapitulatif :


Voici à quoi doit maintenant ressembler votre tableau des permissions en prenant en compte tous les exemples créés précédenment.
Groupe Composant Instance Niveau des droits
1 Admins Menublock:: Menu Membres: Aucun
2 Admins Menublock:: Menu Principal Aucun
3 Co-admins Menublock::


Des modèles de Permissions.

* Exemples
XML Revisions of $tag
Page history :: Last Editor : Gilles :: Owner : Gilles ::
Valid XHTML :: Valid CSS :: Powered by pnWikka 1.0 (A wiki fork from WikkaWiki)
 

Commentaires

Seuls les utilisateurs enregistrés peuvent ajouter un commentaire. S'enregister/S'identifier