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

Plugins PHP Discussion :

Boucle de redirection ? soucis avec sfGuard ?


Sujet :

Plugins PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Points : 100
    Points
    100
    Par défaut Boucle de redirection ? soucis avec sfGuard ?
    Bonsoir à tous !

    J'ai bossé longtemps sur la partie frontend et je voudrais continuer mon backend mais soucis : "Cette page Web présente une boucle de redirection."

    Qué passa ?

    Lorsque je passe le is_secure du backend à false ça fonctionne pourtant...

    Une idée d'où ca peut venir ?

    Je sais que j'ai modifié les redirections de sfGuard lorsque la session utilisateur est terminée... Peut etre que ca vient d'ici... Je vais aller voir de ce coté

    Merci d'avance pour votre aide

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Points : 100
    Points
    100
    Par défaut
    Et voilà j'ai trouvé: j'effectuais une redirection dans sfGuardAuthActions.

    Cette redirection est utilisée lorsque la session de l'utilisateur a expirée: je redirige vers la homepage et en meme temps j'initialise une flash...

    En supprimant cette redirection tout fonctionne bien du coté backend.

    Comment faire en sorte de faire ce que je souhaite mais en "propre" ... ??

  3. #3
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Je pense qu'un des éléments de la page de redirection et d'identification (un des componements sans doute dans le layout) demande une identification. Donc il redirige sur la page d'identification qui a besoins d'une identification...
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Points : 100
    Points
    100
    Par défaut
    Oui je sais bien mais le formulaire est déjà présent sur la page du frontend... c'est pour ça que je voulais rediriger vers la homepage avec un flash en plus !

    Je pense que je vais rediriger en fonction de l'application où on est...

  5. #5
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Tu peux peut-être vérifier si l'utilisateur est logué avant d'initier le module java ?
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Points : 100
    Points
    100
    Par défaut
    Non pas possible parce qu'au début de l'action il test déjà si il est logué ou pas...

    Une session expirée doit être en quelque sorte active ou je ne sais quoi...

    Je te passe le action de sfGuard du module auth.

    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
    55
    56
    57
    58
    59
    60
     
    class sfGuardAuthActions extends BasesfGuardAuthActions {
     
        public function executeSignin($request) {
            $user = $this->getUser();
            if ($user->isAuthenticated()) {
                return $this->redirect('@homepage');
            }
     
            $class = sfConfig::get('app_sf_guard_plugin_signin_form', 'sfGuardFormSignin');
            $this->form = new $class();
     
            if ($request->isMethod('post')) {
                $this->form->bind($request->getParameter('signin'));
                if ($this->form->isValid()) {
     
     
     
                    $values   = $this->form->getValues();
                    $remember = isset($values['remember']) ? $values['remember'] : false;
     
                    $this->getUser()->signin($values['user'], $remember);
     
                    /*****/
     
                    /*****/
     
                    $signinUrl = sfConfig::get('app_sf_guard_plugin_success_signin_url', $user->getReferer($request->getReferer()));
     
                    return $this->redirect('' != $signinUrl ? $signinUrl : '@homepage');
                }
                // AJOUTER PAR MOI
                else {
     
                    $this->getUser()->setFlash('user','Le pseudo et/ou le mot de passe est invalide !');
                    $this->getUser()->setFlash('user_mode','password');
                    $this->redirect('@homepage');
                }
     
            }
            else {
                if ($request->isXmlHttpRequest()) {
                    $this->getResponse()->setHeaderOnly(true);
                    $this->getResponse()->setStatusCode(401);
     
                    return sfView::NONE;
                }
     
                $user->setReferer($request->getReferer());
     
                $module = sfConfig::get('sf_login_module');
                if ($this->getModuleName() != $module) {
                    return $this->redirect($module.'/'.sfConfig::get('sf_login_action'));
                }
     
                $this->getUser()->setFlash('user','Votre session n\'est plus active ! Veuillez vous reconnecter.');
                $this->getUser()->setFlash('user_mode',false);
                //$this->redirect('@homepage');
            }
        }
    C'est le dernier redirect qui faisait buguer !
    Au passage si il y a quelque chose qui craint ...

  7. #7
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Reste la possibilité de mettre deux layout en place et de choisir dans le template...
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  8. #8
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Points : 100
    Points
    100
    Par défaut
    J'ai donc fait ma redirection selon le module...
    J'ai partage ma solution car j'ai mis un peu de temps à trouver la manière de savoir quelle application est utilisée !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(sfConfig::get('sf_app') == 'frontend')
          $this->redirect('@homepage');

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/02/2013, 22h11
  2. [VBA-E]Petit souci avec une boucle
    Par Mou dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 17/04/2007, 15h15
  3. Réponses: 2
    Dernier message: 29/03/2007, 13h28
  4. [Debutant/WinAPI] Souci avec boucle While et GetMessage()
    Par SnowStyle dans le forum Windows
    Réponses: 11
    Dernier message: 15/10/2005, 19h19

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