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 :

sfGuardAuth signout ne vide pas la barre d'adresse [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Ingénieur d'études et de développement
    Inscrit en
    Juin 2009
    Messages
    112
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur d'études et de développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 112
    Par défaut sfGuardAuth signout ne vide pas la barre d'adresse
    Salut

    J'ai un petit soucis avec sfGuardUser et sa méthode signout.
    Lorsque je me déconnecte du site, la barre d'adresse reste inchangée mais je suis redirigé vers le module et l'action définis par la route Homepage, je vois le formulaire de login.

    Si je souhaite me reconnecter, j'arriverai directement à l'adresse de la barre sans passer par la page d'accueil.

    Ex : je suis sur la page /articles/id/2
    -> je me déconnecte - la barre d'adresse ne devient pas /

    je me logue avec un autre compte -> j'accède directement à /articles/id/2
    et non à /

    Si vous avez une idée ^_^

    Merci

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    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
    Par défaut
    L'action signout va rediriger (donc nouvelle URL dans la barre) :
    sur une URL pré paramétrée dans la configuration si elle existe.
    sur la route définie par "@homepage"

    Si tu n'as pas prédéfini d'URL pour le plugin et que tu as supprimé la route homepage de ton fichier routing.yml, cela peut donner des résultats ... dans ce genre là.

  3. #3
    Membre éprouvé
    Ingénieur d'études et de développement
    Inscrit en
    Juin 2009
    Messages
    112
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur d'études et de développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 112
    Par défaut
    Salut Mimi68,

    voici les seules configs que j'ai changé et qui a mon avis peuvent impacter la redirection.

    Routing.yml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    homepage:
      url: /
      param: {module: main, action: index}
     
    sf_guard_signin:
      url: /login
      param: {module: sfGuardAuth, action: signin}
     
    sf_guard_signout:
      url: /logout
      param: {module: sfGuardAuth, action: signout}
    Normalement, l'appli devrait me redirigé vers / et afficher l'action 'index' du module 'main' non ?

    Si je veux qu'une fois déconnecter l'utilisateur se voit présenter une page de login sans le layout décorateur comment dois-je faire ?

    Merci bcp

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    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
    Par défaut
    Le code de la fonction signout renvoie (redirect()) sur deux possibilités.

    Soit tu as définis un lien dans app.yml (voir la description du module pour le nom du paramètre) et tu est redirigé sur cette route. Soit sur @homepage.

    Normalement, tu devrais être dirigé sur @homepage soit main index. Je ne vois pas de raison pour que tu n'y sois pas.

    Si tu veux qu'un signout te renvoie sur la page de signin, tu as deux possibilités :
    • Mettre le paramètre dans app.yml sur @sf_guard_signin
    • faire en sorte que la page @homepage ne puisse être accédé sans login, dans ce cas un utilisateur non logué sera redirigé sur une page de login


    En général j'utilise la deuxième méthode. Si mon application nécessite obligatoirement un login, toutes connexions à la page racine implique un login...

  5. #5
    Membre éprouvé
    Ingénieur d'études et de développement
    Inscrit en
    Juin 2009
    Messages
    112
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur d'études et de développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 112
    Par défaut
    C'est bon j'ai reglé mon problème. En fait il fallait bien définir une adresse dans App.yml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    all:
      sf_guard_plugin:
        success_signout_url:     main/index
    j'avais pourtant suivi les tuto et il ne mentionnait que la route Homepage.

    Bon merci quand même

    Sinon concernant la page de login. En fait je voudrais la faire apparaitre mais sans la décorer avec le layout qui contient mon header et mon footer. Comment puis-je faire ?

  6. #6
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    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
    Par défaut
    Dans le code du signout, si ta variable n'est pas renseigné, ces @homepage qui est utilisé (j'ai vérifié).

    Tu peux définir un particulier dans ton template. De tête, c'est un setLayout(), mais à vérifier et confirmer. Tu as donc deux layout.

    En général je n'utilise qu'un layout, mais le menu vient d'un compoment qui tient compte des droits de l'utilisateur, il sera donc différent pour un utilisateur selon qu'il est identifié ou pas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [1.x] sfGuardAuth signout ne vide pas le cookie
    Par miche53 dans le forum Symfony
    Réponses: 11
    Dernier message: 23/09/2010, 13h45
  2. Réponses: 6
    Dernier message: 09/05/2009, 14h23
  3. Réponses: 5
    Dernier message: 21/01/2009, 00h56
  4. pas changer l'url ds la barre d'adresse
    Par lepierre dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/02/2006, 17h31
  5. [JScrollPane]pas de barre de defilement !!!
    Par let_me_in dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 04/01/2006, 10h15

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