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 :

Problème avec ACL gestion de menu et de sous menu


Sujet :

MkFramework

  1. #1
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 674
    Points : 922
    Points
    922
    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 : 317
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 : 235
Taille : 4,6 Ko

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

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

    Merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 674
    Points : 922
    Points
    922
    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 : 219
Taille : 6,4 Ko

    Merci

  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 : 41
    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
    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 éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 674
    Points : 922
    Points
    922
    Par défaut
    Merci j'attend avec impatience !

  5. #5
    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 : 41
    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
    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
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    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
    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 éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 674
    Points : 922
    Points
    922
    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
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    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
    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 éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 674
    Points : 922
    Points
    922
    Par défaut
    Merci je vais revoir point par point !

  10. #10
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 674
    Points : 922
    Points
    922
    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
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    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
    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, 10h43
  2. Problème avec la "Gestion des bibliothèques dynamiques"
    Par GoustiFruit dans le forum Delphi
    Réponses: 15
    Dernier message: 31/05/2006, 10h54
  3. Réponses: 22
    Dernier message: 06/04/2006, 15h45
  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, 09h21
  5. Problème avec la gestion des événements
    Par CynO dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/10/2005, 11h07

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