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

MkFramework Discussion :

Gestion des droits : Menu et Sous Menu


Sujet :

MkFramework

  1. #1
    Membre confirmé Avatar de llaffont
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2007
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2007
    Messages : 701
    Points : 597
    Points
    597
    Par défaut Gestion des droits : Menu et Sous Menu
    Salut,

    Je viens de regarder la vidéo "Episode 10: Gestion des droits 4/4"

    Où il est donné une méthode pour la gestion des ACL un peu plus pratique de mon point de vue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    foreach($tLink as $sLabelPrim => $sLink){
      if(!_root::getACL()->can('ACCESS',$sLink)){
        unset($tLink[$sLabelPrim]);                        
      }
    }
    Méthode fonctionnelle si l'on exploite les menus "simple niveau"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $tLink=array(
      'Accueil' => 'default::index',
      'Page 1' => 'page1::list',
    )
    Mais comment faire quand on exploite un menu "multi niveau" ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $tLink=array(
      'Accueil' => 'default::index',                
      'Page 1' => 'page1::list',
      'Autres' => array(
        'Page 2' => 'page2::list',
        'Page 3' => 'page3::list',
        'Page 4' => 'page4::list',
      ),
    }
    J'ai bien trouvé ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    foreach($tLink as $sLabelPrim => $sLink){                  
      if (is_array($sLink)){
     
    // Que mettre ici ?
     
      }else{
        if(!_root::getACL()->can('ACCESS',$sLink)){
          unset($tLink[$sLabelPrim]);                        
        }
      }
    }

    Mais en raison des fortes chaleurs (41°C là où je suis !), j'ai l'impression que mon cerveau ne veut plus réfléchir et je ne trouve pas de solution simple et propre.
    Si vous avez moins chaud Pouvez vous m'aider ?
    Merci
    La théorie, c'est quand on sait tout et que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !


    Albert Einstein

  2. #2
    Membre confirmé Avatar de llaffont
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2007
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2007
    Messages : 701
    Points : 597
    Points
    597
    Par défaut
    Bon la température à légèrement baissé 40°C

    Et j'ai trouvé la solution à mon problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    foreach($tLink as $sLabelPrim => $sLink){                  
      if (is_array($sLink)){
        foreach($sLink as $sLabelSec=>$sSousMenu){ 
          if(!_root::getACL()->can('ACCESS',$sSousMenu)) {
            unset($tLink[$sLabelPrim][$sLabelSec]);
          }
        }
    }else{
        if(!_root::getACL()->can('ACCESS',$sLink)){
          unset($tLink[$sLabelPrim]);                        
        }
      }
    }
    Désolé pour le dérangement.
    A+
    La théorie, c'est quand on sait tout et que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !


    Albert Einstein

  3. #3
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Merci de la question ET de la réponse

    En effet je n'aurai pas trouvé mieux
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

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

Discussions similaires

  1. Ajouter un menu et sous menu suite au menu popup Profile As
    Par kkt8 dans le forum Eclipse Platform
    Réponses: 7
    Dernier message: 12/04/2013, 14h57
  2. Gestion des droit d'accee sous Access 2007
    Par elgaied dans le forum Sécurité
    Réponses: 3
    Dernier message: 23/12/2009, 14h25
  3. Gestion des droit d'acces sous windows
    Par MSM_007 dans le forum Windows XP
    Réponses: 1
    Dernier message: 18/10/2007, 08h40
  4. Gestion des droits d'accès sous Oracle
    Par ginkas31 dans le forum Administration
    Réponses: 3
    Dernier message: 02/07/2007, 19h44
  5. Menu, avec sous menu et sous sous menu
    Par flolane dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 15/12/2006, 08h57

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