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 le menu Administration


Sujet :

MkFramework

  1. #1
    Membre confirmé
    Problème avec le menu Administration
    Bonjour,

    J'ai mis en production la bêta de l'outil que j'ai développé ces dernières semaines.

    Pour le contexte système je suis sur un serveur Linux hébergeant le moteur NGINX.
    Mes sources de développement et de production sont sur le même serveur et possèdent les mêmes paramètres dans leurs fichiers respectifs de configuration NGINX.

    Sur mon site de dev tout fonctionne à merveille, sur le site de production il en est de même sauf pour les 4 modules de gestion des droits.
    A savoir users, groups, items et rightsManagerMulti

    Mes différents tests ont démontrés que les droits étaient bien chargés que les sessions étaient différentes,...

    Le seule constat est que lorsque je charge par exemple items::index par l'intermédiaire du menu je ne rentre même pas dans la fonction _index. Alors que si je tape directement l'appel dans l'URL cela fonctionne.
    Même en désactivant la sécurité xsrf le problème persiste.

    Vous me direz c'est bien beau, mais quel est ton problème ?

    J'y viens justement !

    Le problème se manifeste de la sorte :

    Lorsque je m'authentifie, les pages "applicatives" de mon site me donnent accès à l'ensemble des options accessibles par mon rôle d'administrateur.
    Le menu change d'aspect, des boutons cachés font leur apparitions, etc ...

    Le menu Administration contenant les liens vers users::index, groups::index, items::index et rightsManagerMulti::index sont même de la partie.
    Mais lorsque je clique dessus je me retrouve sur la page de Login et cela que sur le site de production.

    Une idée sur l'origine de ce phénomène ?
    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é
    Bon,

    J'avance a tâtons :

    J'ai vérifié si mon problème ne venait pas des sessions. Mais a priori j'ai 2 fichiers sessions différents qui se crée donc j'en déduis que le système distingue bien les 2 sites.

    Je me suis donc focalisé sur la chaîne d’authentification en commençant par le main du module Auth et du retour de la page Login.

    J'ai donc glissé dans la fonction checkLoginPass un petit var_dump
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
     
    $oUser=_root::getAuth()->getAccount();
    echo '<PRE>';var_dump($oUser);echo '</PRE>';die();


    J'ai obtenu ce à quoi je m'attendais. La sortie du code étant un redirect vers une page public.

    J'ai vérifié le comportement dans le main du menu, pour glisser un autre var_dump
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    echo '<PRE>';var_dump(_root::getAuth()->getAccount());echo '</PRE>';die();
               if(_root::getAuth() and _root::getAuth()->getAccount()){
     
                    $tAuthLink=array('Se déconnecter' => 'auth::logout');
               }else{
                   $tAuthLink=array('Se connecter' => 'auth::login');
               }


    Et celui-là devrait me retourner exactement la même chose que le précédent et pourtant non ! J'ai un beau NULL

    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

    Bonjour,
    question: vous avez bien activé auth.enabled ?

    autre chose, je connais peu nginx, vous avez des logs dessus ?

    quel version de php ?

    vous pouvez avoir un soucis php qui affiche une erreur provoquant le crash lors de l'ecriture/lecture de session avec "header already sent..."
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux