[RESOLU] Gestion des Permissions

Petit nouveau ! | 1 Messages

07 déc. 2019, 18:08

Bonsoir et merci de m'accepeter sur ce forum

Je souhaite mettre en place une gestion des permissions pour avoir accès à la modification de tables.

J'aimerai ne pas à avoir à mettre sur chaque page concernée une fonction mais le faire au niveau d'un contrôleur.

Dans ma classe d'autorisation DBAuth je fais un test pour savoir si la personne est loguée et récupère son role

Code : Tout sélectionner

public function logged(){ return isset($_SESSION['auth_bis']); } public function getclientRole(){ if($this->logged()) { $client_id= $_SESSION['auth_bis'][3]; $client_role = $this->db->query("SELECT role_id FROM clients WHERE id=$client_id",'',true); return $client_role[0]; } return false; }
Dans ma classe pour la gestion de la partie administrative (plus haut niveau) je teste si l'utilisateur a les droits pour se loguer

Je récupère aussi le rôle.

Code : Tout sélectionner

public function __construct(){ parent::__construct(); $app = App::getInstance(); $auth_bis = new DBAuth($app->getDb()); $role = $auth_bis->getclientRole(); if(!$auth_bis->logged()) { $this->forbidden(); //Core/Controller } }
Je pensais pouvoir indiquer dans ma table des pages l'indication du niveau d'autorisation demandé et la comparer avec le rôle que j'ai récupéré ci-dessus pour faire un test cette fois ci au niveau des contrôleurs inférieurs

Code : Tout sélectionner

class ArtistsController extends AppController{ public function __construct(){ parent::__construct(); $this->loadModel('Artist'); }
Mais là je cale .

Si quelqu'un avait une idée pour arriver à mes fins.

Merci d'avance