小编Dol*_*orf的帖子

Symfony2登录事件侦听器和security.interactive_login事件从未使用FOSUser触发

我正在尝试添加一个Symfony2登录事件监听器,目标是在每个请求上记录用户时设置数据库存储的语言环境,并回退到没有用户登录的默认语言环境.我使用FOSUserBundle,我试图让security.interactive_login事件起作用.我在互联网上找到了很多像这样的代码:http://dev.dbl-a.com/symfony-2-0/how-to-add-a-symfony2-login-event-listener/

我有自己的FOSUserBundle子包和services.yml中的这个实现:

my_user.security.interactive_login_listener:
        class: My\UserBundle\EventListener\UserListener
        arguments: [@security.context, @doctrine]
        tags:
            - { name: kernel.event_listener, event: security.interactive_login, method: setLocaleForAuthenticatedUser }

my_user.security.kernel_request_listener:
        class: My\UserBundle\EventListener\UserListener
        arguments: [@security.context, @doctrine]
        tags:
            - { name: kernel.event_listener, event: kernel.request, method: setLocaleForUnauthenticatedUser }
Run Code Online (Sandbox Code Playgroud)

问题是,即使在记录时,也永远不会触发security.interactive_login事件.相反,我的setLocaleForUnauthenticatedUser总是被触发.我找到的每个代码示例似乎都很流畅,我的应用程序出了什么问题?

security events login symfony fosuserbundle

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

events ×1

fosuserbundle ×1

login ×1

security ×1

symfony ×1