GVN Group

FR EN Print 

   


 

Gestion des permissions - Niveau simple

Le paquet LiveUser_Admin vous permet de gérer les droits accordés directement à un utilisateur. Ceci correspond au niveau simple de gestion des permissions. Il fournit une série de méthodes pour interagir avec la table «liveuser_userrights».

L'exemple 1 fourni avec ce paquet PEAR devrait vous aider à commencer rapidement.

Quelques méthodes sont disponibles pour la gestion des permissions:

  • grantUserRight: pour ajouter une permission à la liste des permissions
  • updateUserRight: pour modifier une permission dans la liste des permissions
  • revokeUserRight: pour enlever une permission de la liste des permissions

Nous commencerons par ajouter une permission, puis nous la modifierons. Nous pouvons alors créer une liste de toutes les permissions dans la table avant d'en enlever une.

Voici l'exemple complet:

Télécharger «LUA_test_userright.php»

Ajouter une permission (grantUserRight)

function grantUserRight($data)

Paramètre(s)

Cette méthode nécessite 1 paramètre:

  • un vecteur avec une paire clé/valeur pour chaque champ de «liveuser_userrights»

Valeur retounée

Cette méthode retourne:

  • «false» en cas d'erreur
  • le nouvel identifiant de la permission en cas de succès

Exemple

Pour ajouter une permission:

   ...
    $data = array(
        'perm_user_id' => $users[0]['perm_user_id'],
        'right_id' => 5,
        'right_level' => 3,
       );
    $granted = $LUA->perm->grantUserRight($data);
   ...

Ceci donne le résultat suivant:

Accorder un droit à un utilisateur

Mettre à jour une permission (updateUserRight)

function updateUserRight($data, $filter)

Paramètre(s)

Cette méthode nécessite 2 paramètres:

  • un vecteur contenant une paire clé/valeur contenant les valeurs mises à jour
  • un vecteur contenant une paire clé/valeur pour sélectionner l'enregistrement à mettre à jour

Attention: Si aucun paramètre n'est fourni, toutes les permissions seront modifiées.

Valeur retournée

Cette méthode retourne:

  • «false» en cas d'erreur
  • «true» autrement

Exemple

   ...
    $new_right_level = 2;
    $right_id = 5;

    $handle = 'test user';
    $filter = array('handle' => $handle);
    $users = ('auth', $filter);

    $data = array('right_level' => $new_right_level);
    $filter = array('perm_user_id' => $users[0]['perm_user_id'],
                    'right_id' => $right_id);
    $updatedUserRight = $LUA->perm->updateUserRight($data, $filter);
   ...

Ceci donne le résultat suivant:

Mettre à jour une permission

Supprimer une permission (revokeUserRight)

function revokeUserRight($filter)

Cette méthode supprime une permission accordée à un utilisateur.

Paramètre(s)

Cette méthode nécessite 1 paramètre:

  • un vecteur avec une paire clé/valeur pour sélectionner l'enregistrement à enlever de «liveuser_userrights»

Attention: Si aucun paramètre n'est fourni, toutes les permissions seront enlevées.

Valeur retournée

Cette méthode retourne:

  • «false» en cas d'erreur
  • «true» autrement

Exemple

   ...
    $right_id = 5;

    $handle = 'test user';
    $filter = array('handle' => $handle);
    $users = $LUA->getUsers('auth', $filter);

    $filter = array(
        'perm_user_id' => $users[0]['perm_user_id'],
        'right_id' => $right_id
       );
    $revoked = $LUA->perm->revokeUserRight($filter);
   ...

Ceci donne le résultat suivant:

Supprimer une permission

Obtenir de l'information sur la dernière erreur (getErrors)

function getErrors()

Dans le cas où une fonction retourne «false», celà signifie qu'il y a un problème. Vous pouvez obtenir l'information relative à l'erreur en appelant cette méthode.

Paramètre(s)

Cette méthode ne nécessite aucun paramètre.

Valeur retournée

Cette méthode retourne:

  • l'information concernant l'erreur

Exemple

   ...
    $granted = $LUA->perm->grantUserRight($data);
    if ($granted == false)
      {
      echo 'Add_userright: error on line: '.__LINE__;
      print_r($LUA->getErrors());
      }
    else
      {
      echo 'User Right added';
      }
   ...