dongreng9864 2015-07-24 10:38
浏览 113
已采纳

如何在登录Symfony后进行不同的重定向

I was wondering how I can parameter different redirection after login.

In one case : I have a form that Anonymous User can complete it.
I save my form without user yet but I put in session the id of the form.
After I redirect to login/register and the session keep the id of the form
And to complete I need to attach the form with the user. But everytime I am redirecting to the account of the user...

So I imagine differents cases to redirect after login and some parameter the previous path.

And I can after do that i need in the good controller to finish to reccord in the database.

If someone have an idea. Thank you for your advices.

  • 写回答

2条回答 默认 最新

  • donglianjiang9321 2015-07-24 15:04
    关注

    The most safe implementation is to register to the InteractiveLoginEvent, by which you can do something after the user logged in successfully.

    app.login_listener:
        class: AppBundle\EventListener\LoginListener
        arguments:
            - @session
        tags:
            - { name: kernel.event_listener, event: security.interactive_login, method: onLoginSuccess  }
            - { name: kernel.event_listener, event: kernel.response, method: onKernelResponse }
    

    You can check the session during onLoginSuccess for your form, and return the proper redirect response in onKernelResponse.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?