IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Gérer des permissions


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 48
    Points : 38
    Points
    38
    Par défaut Gérer des permissions
    Bonsoir à tous,

    Je m’entraîne à gérer des permissions pour restreindre les accès sur un tableau de bord. J'utilise une architecture MVC.
    Par exemple, si c'est l'admin, il a accès à tout, si c'est un employé qui travaille aux ressources humaines, il n'a accès qu'à la gestion des offres d'emplois etc.

    Pour l'instant j'ai fait quelque chose dans ce style de très basique. On vérifie simplement l'utilisateur, et en fonction on affiche les bonnes catégories de liens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if ($users == "admin") {
                $this->categorie = $this->categories->getAll();
            }
            elseif ( $users == "rh") {
                $this->categorie = $this->categories->rh();
            }
     
            $vue = new View('backoffice', 'dashboard', "admin");
            $vue->generate(array('categories'=>$this->categorie));
    Ensuite, je contrôle l'accès aux liens avec les SESSIONS dans mon routeur. Pour l'instant j'ai fait un truc dans ce style qui fonctionne : par exemple, j'interdis l'accès à la page sécurité à tous les utilisateurs qui ne sont pas admin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      if ($_GET['action'] == "securité") {
                    if (isset($_SESSION['Auth']->id_role) && $_SESSION['Auth']->id_role < 2) {
                        echo "Vous êtes un administrateur";
                    }
                    else {
                        $this->ctrlErrorPage->forbidden();
                    }
                }
    Par contre, je trouve que ce n'est pas pratique comme ceci parce que si un jour on souhaite donner accès à d'autre page, il faudra venir modifier le code
    Avez-vous des pistes pour rendre les permissions plus modulable ?

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 234
    Points : 15 531
    Points
    15 531
    Par défaut
    Si vous voulez prévoir plus grand, vous pouvez vous inspirer du système de permissions de WordPress.
    Il y a d'abord des rôles comme "Administrateur" "Contributeur". Ensuite à chaque rôle est associé plusieurs permissions comme par exemple "voir la page sécurité", "modifier la page sécurité".
    Et pour finir un utilisateur peut appartenir à un ou plusieurs rôles.

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 48
    Points : 38
    Points
    38
    Par défaut
    Merci Mathieu !

    J'y avais même pas pensé !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/01/2014, 13h19
  2. [XSLT] Comment procéder pour gérer des langues ?
    Par virgul dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 31/03/2005, 11h01
  3. Gestion des permissions des fichiers sur NTFS
    Par gnu_thomas dans le forum MFC
    Réponses: 3
    Dernier message: 22/01/2004, 08h22
  4. Comment (si possible) gérer des dll en Asm?
    Par @drien dans le forum x86 32-bits / 64-bits
    Réponses: 5
    Dernier message: 06/01/2004, 15h59
  5. Une unité pour gérer des très grands nombres
    Par M.Dlb dans le forum Langage
    Réponses: 2
    Dernier message: 09/09/2003, 12h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo