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 :

ajouter une variable en session au moment du login


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 546
    Par défaut ajouter une variable en session au moment du login
    Bonjour,

    J'utilise FOSUserBundle. Je voudrais mettre une variable en session au moment du login de l'utilisateur.
    En fait je mets ma variable en session sur la homepage, mais si un user tape une url précise, s'il n'est pas logger, il tombe sur la page de login et ensuite il est redirigé sur l'url précise. Or dans ce cas-là, il ne passe pas par la homepage et doncma variable n'est pas mise en session. Donc je voudrais la mettre au moment du login.
    Comment on peut faire, vu que c'est FOSUser qui gère cette partie ?
    Merci de votre aide.

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 546
    Par défaut
    bon j'ai avancé un peu, il faudrait utiliser une classe qui implemente AuthenticationSuccessHandlerInterface
    Du coup j'ai créé ma classe dans ACME/UserBundle/Handler/AuthenticationHandler.php :
    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
    <?php
     
    namespace ACME\UserBundle\Handler;
     
    use Symfony\Component\Security\Http\Authentication\AuthenticationSuccessHandlerInterface;
     
    class AuthenticationHandler implements AuthenticationSuccessHandlerInterface
    {
        function onAuthenticationSuccess(Request $request, TokenInterface $token)
        {
            $logger = $this->get('logger');
            $logger->info('auth success');
     
            return new RedirectResponse($this->container->get('router')->generate('login_success'));
        }
    }
    Dans ACME/UserBundle/Ressources/config/services.yml j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    services:
        authenticationhandler:
            class: ACME\UserBundle\Handler\AuthenticationHandler
    Et enfin dans mon app/config/security.yml j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    form_login:
                    provider: fos_userbundle 
                    login_path:     fos_user_security_login
                    check_path:     fos_user_security_check
                    default_target_path: acme_user_index
                    success_handler: authenticationhandler
    Quand je vais sur ma page il me dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ServiceNotFoundException: The service "security.firewall.map.context.secured_area" has a dependency on a non-existent service "authenticationhandler".
    Pourquoi il ne trouve pas mon service ?
    Merci.

  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
    Bonjour,

    en effet il faut utiliser le handler d'authentification.

    dans ton bundle perso as-tu bien le dossier DependencyInjection avec la bonne configuration pour charger ton fichier de config ?

    si tu fais un app/console container:debug, vois-tu ton service ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/03/2006, 07h19
  2. Réponses: 4
    Dernier message: 14/12/2005, 08h33
  3. [C#] ArrayList dans une variable de session ?
    Par Oberown dans le forum ASP.NET
    Réponses: 1
    Dernier message: 12/12/2005, 15h50
  4. [C#] Tester existence d'une variable de session
    Par IDNoires dans le forum ASP.NET
    Réponses: 2
    Dernier message: 31/12/2004, 12h30
  5. Création d'une variable de session avec un ID
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 18/10/2004, 10h28

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