GVN Group

FR EN Print 

   


 

Permissions: niveau complexe

Niveau complexe: Fonctions avancées

Le niveau de permission complexe ajoute quelques fonctions supplémentaires.

Lorsque vous travaillez avec ce niveau de permissions, les fonctions de droits implicites pevent être utilisées en plus de tous les concepts abordés dans les niveaux simples et intermédiaires. C'est ce que nous examinerons maintenant.

Note: D'autres concepts et carractéristiques additionnels seront décrits ultérieurement.

La vue fonctionnele

Niveau complexe

La différence avec le niveau intermédiaire est:

  • lorsqu'un droit est accordé, l'utilisateur peut automatiquement se voir accorder un autre droit. Ceci est appelé un «droit implicite».
  • Les sous-groupes sont également supportés

Les fonctions suivantes ne sont pas couvertes et doivent encore être documentées:

  • les permissions limitées par la propriété
  • les types d'utilisateurs: d'utilisateur à admin
  • les niveaux d'utilisateurs: d'utilisateur «area» à «super user»
  • les niveaux d'administration : de «area» à «master admin»
  • les sous-groupes

La vue technique

D'un point de vue technique, une nouvelle table nous servira à définir les droits implicites.

Droits implicites au niveau complexe


The «liveuser_right_implied» Table

Nous allons maintenant commencer par définir les droits implicites: Lorsque quelqu'un est autorisé à éditer les événements, il sera aussi autorisé à les voir,...

Ensuite, nous pouvons simplifier les droits accordés à chaque groupe.

Remplissons la table «liveuser_right_implied»avec:

  • un «right id»
  • un «implied_right_id»
liveuser_right_implied
right_id implied_right_id
2 1
3 1
4 1

The «liveuser_grouprights» Table

Nous pouvons maintenant simplifier la table «liveuser_grouprights»

  • le «group_id»: l'identifiant du groupe
  • le «group_right_id»: l'identifiant du droit
  • le «right_level»: positionons le à 3 pour l'instant. Nous y reviendrons plus tard
liveuser_grouprights
group_id group_right_id right_level
1 1 3
2 2 3
2 3 3
3 4 3

Le fichier de configuration

Pour pouvoir utiliser les droits implicites du système de permissions le fichier de configuration doit être adapté, plus particulièrement le vecteur «perm container»: de «Simple»/«Medium» à «Complex».

Téléchargez «conf.php»

   ...
        'permContainer' => array(
            'type' => 'Complex',
            'storage' => array(
                'MDB2' => array(                    // storage container name
                    'dsn' => $dsn,
                    'prefix' => 'liveuser_',        // table prefix
                    'tables' => array(),
                    'fields' => array(),
                    'alias'  => array()
                )
            )
        )
   ...

Enumérez les droits

La liste des droits, définie comme un ensemble de constantes reste inchangée, dans un fichier séparé.

Télécharger «eve_rights.php»

Vérifiez les droits des utilisateurs

Notre fichier de test reste inchangé.

Télécharger «LU_test_rights2.php»

Tester les droits d'accès

Sans surprise, les tests avec les 3 utilisateurs donnent le même résultat.

Le résultat pour «userA» est:

Droits pour userA

Le résultat pour «userB» est:

Droits pour userB

Le résultat pour «admin» est:

Droits pour admin