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

Symfony PHP Discussion :

sf_guard_signin : 401 unauthorized


Sujet :

Symfony PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 11
    Par défaut sf_guard_signin : 401 unauthorized
    Bonjour à tous et toutes,

    Sur mon projet Symfony 1.4 avec le sfDoctrineGuardPlugin (dernière version), je voudrais que mon formulaire de connexion apparaisse en ajax dans une lightbox.

    Pour celà j'utilise la fancybox (dernière version) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php echo link_to(__('Connexion'), '@sf_guard_signin', array('class' => 'various fancybox.ajax')); ?>
     
    <?php echo javascript_tag("$(document).ready(function() {
                $('.various').fancybox({
                  maxWidth  : 800,
                  maxHeight : 600,
                  fitToView : false,
                  width   : 'auto',
                  height    : 'auto',
                  autoSize  : false
                });
              });"); ?>
    Dans mon security.yml, j'ai is_secure: false pour toutes mes actions (pour le moment).

    Or, quand je clique sur mon lien, la fancybox s'ouvre bien, mais impossible d'afficher le formulaire de login : 401 unauthorized.

    Ca ne vient pas de la fancybox car mon formulaire d'inscription, basé sur le principe, fonctionne sans problème.

    Lorsque j'appelle l'url de login directement dans un onglet de mon navigateur, le formulaire s'affiche bien.

    Celà viendrait de l'AJAX ?
    Quelqu'un a eu ce même problème ?

    Merci par avance

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Par défaut
    sfDoctrineGuardPlugin renvoie automatiquement un 401 pour les requêtes Ajax
    Voir la méthode executeSignin

    Il faut que tu redéfinisse executeSignin() et modifie cela, par ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if($request->isMethod('post') && $request->isXmlHttpRequest()) { ...}

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 11
    Par défaut
    Tu m'as mise sur la bonne voie.
    J'ai redéfinis la méthode executeSignin, mais je n'ai pas fait comme tu as dit, c'est-à-dire ajouté une clause dans ma condition. J'ai enlevé du code dans le else :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if ($request->isXmlHttpRequest())
    {
        $this->getResponse()->setHeaderOnly(true);
        $this->getResponse()->setStatusCode(401);
     
        return sfView::NONE;
    }
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->getResponse()->setStatusCode(401);
    Je ne sais pas si c'est la méthode la plus clean mais ça marche.

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Par défaut
    C'est la même chose :-)

    Tu peux marquer la discussion comme résolue.

Discussions similaires

  1. Erreur 401 Unauthorized Administrateur
    Par PourLeFun dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 06/06/2010, 20h48
  2. Réponses: 2
    Dernier message: 11/11/2009, 14h49
  3. Tomcat6 linux manager 401 Unauthorized
    Par JRM__ dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 05/03/2009, 10h02
  4. La demande a échoué avec l'état HTTP 401 : Unauthorized.
    Par naima2005 dans le forum Services Web
    Réponses: 8
    Dernier message: 25/11/2008, 14h58
  5. Erreur: 401 unauthorized
    Par Maduser dans le forum SharePoint
    Réponses: 2
    Dernier message: 31/10/2008, 10h44

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