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 :
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
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));
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
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(); } }
Avez-vous des pistes pour rendre les permissions plus modulable ?
Partager