1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2004
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : mai 2004
    Messages : 1 316
    Points : 736
    Points
    736

    Par défaut Problème avec ACL gestion de menu et de sous menu

    Bonjour Imikado

    j'ai un problème avec la gestion ACL, les menus et les sous menu !

    Voici le code de mon menu :
    Code php : 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    <?php
    Class module_menu_depart extends abstract_moduleembedded{
     
    	public function _index(){
     
    		$tLink=array(
     
    'Acceuil' => 'default::index',
     
    'Ressources' => array(
    				'Ecoles' => 't_mesecoles::list',
    				'Filieres' => 't_mesfilieres::list',
    				'Niveau' => 't_mesniveaux::list',
    				 ),
    'Etudiants' => array(
    				'Recherche Globale' => 't_mesinfos::list',
    				'Recherche Ecole' => 't_mesinfos::list',
    				 ),
    'Se deconnecter' => 'auth::logout',
     
    		);
    //dans ce code juste en bas j'ajoute le code de restriction du menu au users logués :
    //code emprunter sur le forum
    foreach($tLink as $sLabelPri =>$sLink){
     
    	   if(is_array($sLink)){ 
    		foreach($sLink as $sLabelSec =>$sSousMenu){
     
    			if(!_root::getAcl()->can('Access',$sSousMenu)){
    				unset($tLink[$sLabelPri][$sLabelSec]);
    			}
     
    		}
     
    	} else {
    		if(!_root::getAcl()->can('Access',$sLink)){
    				unset($tLink[$sLabelPri]);
    			}
     
    		}
    	}

    j'ai créer un utilisateur a qui je donne les droits suivant :

    Nom : CaptureACL.PNG
Affichages : 19
Taille : 10,8 Ko

    lors du login non seulement Mon menu est déséquilibré (Affichage) Mais il m'affiche tous les éléments du menu avec seulement les sous menus masqués

    voici un aperçu et aussi dans la barre de debug j'ai tout en rouge dans les permission !

    Nom : CaptureACL2.PNG
Affichages : 20
Taille : 4,6 Ko

    Nom : ACL3.PNG
Affichages : 19
Taille : 5,5 Ko

    Nom : CaptureBarredebug.PNG
Affichages : 18
Taille : 7,4 Ko

    Merci

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2004
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : mai 2004
    Messages : 1 316
    Points : 736
    Points
    736

    Par défaut

    Bonjour

    Ce matin je viens de terminer la vérification ligne par ligne et j'ai vu la première erreur je n'avais pas mis le bon verbe Acess j'avais dans la table:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(!_root::getAcl()->can('Access',$sSousMenu))
    Donc le problème de permission est résolution.

    Mais j'ai d'autres questions :

    1/ Comment masquer et le menu et le sous menu a celui qui na pas accès ?
    2/ Je remarque que le menu est décalé par rapport au reste du menu voir image (la barre de menu prend une ligne en plus ):

    Nom : Capturedecallage.PNG
Affichages : 11
Taille : 6,4 Ko

    Merci

  3. #3
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Ingénieur développement
    Inscrit en
    décembre 2006
    Messages
    4 778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 4 778
    Points : 18 495
    Points
    18 495
    Billets dans le blog
    17

    Par défaut

    Pour le menu / sous menu, vous pouvez gerer avec des variables temporaire par exemple:

    Je vous prepare un exemple
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2004
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : mai 2004
    Messages : 1 316
    Points : 736
    Points
    736

    Par défaut

    Merci j'attend avec impatience !

  5. #5
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Ingénieur développement
    Inscrit en
    décembre 2006
    Messages
    4 778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 4 778
    Points : 18 495
    Points
    18 495
    Billets dans le blog
    17

    Par défaut

    L'exemple en question:
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    //dans ce code juste en bas j'ajoute le code de restriction du menu au users logués :
    		//code emprunter sur le forum
    		foreach($tLink as $sLabelPri =>$sLink){
    		
    			if(is_array($sLink)){ 
    			
    				//on commence en ce disant qu'on a pas acces a ces sous menus
    				$bAllowed=false;
    			
    				foreach($sLink as $sLabelSec =>$sSousMenu){
    		
    					if(!_root::getAcl()->can('Access',$sSousMenu)){
    						unset($tLink[$sLabelPri][$sLabelSec]);
    					}else{
    						//si on a au moins un sous menus d'autorise, on va afficher le menu
    						$bAllowed=true;
    						
    					}
    		
    				}
    				
    				if($bAllowed==false){
    					unset($tLink[$sLabelPri]);
    				}
    		
    			} else {
    				if(!_root::getAcl()->can('Access',$sLink)){
    						unset($tLink[$sLabelPri]);
    				}
    		
    			}
    			
    			
    			
    		}
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  6. #6
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Ingénieur développement
    Inscrit en
    décembre 2006
    Messages
    4 778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 4 778
    Points : 18 495
    Points
    18 495
    Billets dans le blog
    17

    Par défaut

    Pour votre décalage du menu "examens" je ne le vois pas dans le tableau php, vous avez du l'ajouté à la main dans la vue ou autre, il n'apparait donc pas dans mon exemple
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2004
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : mai 2004
    Messages : 1 316
    Points : 736
    Points
    736

    Par défaut

    Citation Envoyé par imikado Voir le message
    Pour votre décalage du menu "examens" je ne le vois pas dans le tableau php, vous avez du l'ajouté à la main dans la vue ou autre, il n'apparait donc pas dans mon exemple
    voici le tableau globale c'est la capture qui a déconné au départ:
    Code php : 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
    17
    18
    19
    20
     
    $tLink=array(
     
    'Acceuil' => 'default::index',
     
    'Ressources' => array(
    				'Ecoles' => 't_mesecoles::list',
    				'Filieres' => 't_mesfilieres::list',
    				'Niveau' => 't_mesniveaux::list',
    				 ),
    'Etudiants' => array(	'Recherche Globale' => 't_mesinfos::list',
     
    				 ),
    'Examens' => array(	'Resulats Gblobaux' => 't_mesresultats::list',
     
    				 ),	
     
    'Se deconnecter' => 'auth::logout',
     
    		);

    je vais de ce pas tester le code proposé !

  8. #8
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Ingénieur développement
    Inscrit en
    décembre 2006
    Messages
    4 778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 4 778
    Points : 18 495
    Points
    18 495
    Billets dans le blog
    17

    Par défaut

    La vue du menu que j'ai créé, au cas où ça vous aide à trouver l'erreur d'affichage

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
    	<div class="container">
    		<div class="navbar-header">
    			<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
    			<span class="sr-only">Toggle navigation</span>
    			<span class="icon-bar"></span>
    			<span class="icon-bar"></span>
    			<span class="icon-bar"></span>
    			</button>
     
    			<a class="navbar-brand" href="#">Bienvenu(e)</a>
    		</div>
    		<div class="collapse navbar-collapse">
     
    			<ul class="nav navbar-nav">
    			
    	 	
    				<?php foreach($this->tLink as $sKey => $uValue):?>
    				
    					<?php if(is_array($uValue) ):?>
    						<li class="dropdown">
    							<a href="#"  data-toggle="dropdown" ><?php echo $sKey?></a>
    							<ul class="dropdown-menu">
    								
    								<?php foreach($uValue as $ssLabel => $sLink):?>
    								
    									<li><a href="<?php echo _root::getLink($sLink) ?>"><?php echo $ssLabel?></a></li>
    			
    								
    								<?php endforeach;?>
    								
    							</ul>
    						</li>
    						
    					
    					<?php else:?>
    						<li  ><a href="index.php?:nav=default::index">Acceuil</a></li>
    					<?php endif;?>
    				
    					
    				<?php endforeach;?>
    				
     
    	 
                        
          
    			</ul>
    		
    		
    		
     
    		</div><!--/.nav-collapse -->
    	</div>
    </div>

    note: j'ai pas généré le actif / inactif du menu, j'ai fait au plus rapide pour vous pondre un exemple fonctionnel
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  9. #9
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2004
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : mai 2004
    Messages : 1 316
    Points : 736
    Points
    736

    Par défaut

    Merci je vais revoir point par point !

  10. #10
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2004
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : mai 2004
    Messages : 1 316
    Points : 736
    Points
    736

    Par défaut

    j'ai revu le code qui pour gestion du menu et de son menu il marche correctement (je suis en train de le relire pour comprendre !) du coup le problème que j'avais au niveau du décalage a disparut.

    Merci

  11. #11
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Ingénieur développement
    Inscrit en
    décembre 2006
    Messages
    4 778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 4 778
    Points : 18 495
    Points
    18 495
    Billets dans le blog
    17

    Par défaut

    De rien, je note comme sujet de slides
    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. Réponses: 4
    Dernier message: 08/11/2013, 09h43
  2. Problème avec la "Gestion des bibliothèques dynamiques"
    Par GoustiFruit dans le forum Delphi
    Réponses: 15
    Dernier message: 31/05/2006, 09h54
  3. Réponses: 22
    Dernier message: 06/04/2006, 14h45
  4. [VB6] Sous menu d'un sous menu :p
    Par malhivertman1 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 09/03/2006, 08h21
  5. Problème avec la gestion des événements
    Par CynO dans le forum JavaScript
    Réponses: 4
    Dernier message: 17/10/2005, 10h07

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