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

MkFramework Discussion :

Aide sur la gestion de permissions multi-groupes


Sujet :

MkFramework

  1. #1
    Membre habitué
    Aide sur la gestion de permissions multi-groupes
    Salut Imikado,

    Cela fait un moment que je ne suis pas venu sur le forum.
    Comment vas tu ? Toujours plein de boulot avec le mkFramework?

    Voilà l'idée :
    j'ai créé une BDD personnel dans laquelle j'ai mis en place un gestion de permissions multi-groupes.

    A l'heure actuelle dés que je créé une nouvelle application avec le mkF je suis obligé de créer pour celle-ci une nouvelle gestion de permissions multi-groupes et donc une nouvelle table utilisateurs.
    J'aimerais en fait utiliser la même table pour toutes les applications que j'essaierai de mettre en place.
    Dans les fait je souhaiterais rajouter un champ dans une table soit PERMISSIONS, soit GROUPSUSERS (ou celle que tu m'indiqueras) qui précise qu'elle est la BDD que j'utilise.
    Cela donnerait qq chose comme cela:

    Pour l'user avec id = 850, dans la BDD = 'mode_operatoire' j'ai la permission pour l'item rightsManagerMulti::index, l'action = ACCESS, pour le groupe = ADMINISTRATEUR.

    Sachant que j'ai mis sur la page login un champ caché pour spécifier la BDD sur laquelle les droits doivent être ouvert.
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $bdd = _root::getParam('bdd');
     
    model_rightsManagerMulti::getInstance()->loadForUser($oUser, $bdd);


    J'ai modifié la méthode loadForUser($oUser, $bdd) dans model_rightsManagerMulti.

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    public function findListByUser($user_id, $bdd){
    		return $this->findManySimple('
    		SELECT 
    			actions.actions_name as actionName, 
    			items.items_name as itemName
    		FROM permissions
    			INNER JOIN groupsusers
    				ON groupsusers.groupsusers_groups_id=permissions.permissions_groups_id
    			INNER JOIN actions
    				ON actions.actions_id=permissions.permissions_actions_id
    			INNER JOIN items
    				ON items.items_id=permissions.permissions_items_id
    		WHERE groupsusers.groupsusers_users_id=? and groupsusers.groupsusers_bdd =? 
    			',$user_id,$bdd);
    	}


    Mais ca ne marche pas.

    J'espère que j'ai été assez clair.

    Qu'en pensez vous?

  2. #2
    Rédacteur

    Bonsoir,
    Je comprends l'idée, mais je ne vois pas ce qui ne fonctionne pas

    c'est la requete qui ne renvoi pas de données ?

    si vous lancez la requete SQL dans mysql workbench (ou autre client) vous voyez bien vos résultats ?

    en mettant dans le fichier de conf log.information=1 vous aurez les requetes executees avec les paramètres (pour veerifier qu'il n'y a pas de soucis à la construction de la requete)
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  3. #3
    Membre habitué
    Suite
    Je vois bien les résultats mais la requête me donne des items provenant d’une autre bdd.
    En terme de performance ça ne me convient pas.

  4. #4
    Rédacteur

    Donc actuellment en filtrant la requete sql dans mysql workbench (ou autre) avec un user_id et un groupsusers_bdd, vous avez tout de retourné ?

    en ajoutant dasn le select le champ groupsusers_bdd, vous voyez donc toutes les bases ?
    vous pouvez me faire un extract de la structure avec 2-3 entrees pour que je regarde la requete SQL ?
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  5. #5
    Membre habitué
    Fin de la discussion
    Bonjour
    je vais mettre résolu à la discussion car j'avais un bug au niveau du serveur XAMPP sur lequel je suis.

    Merci pour ton aide

###raw>template_hook.ano_emploi###