【发布时间】:2014-07-16 21:04:01
【问题描述】:
当用户登录时,无论是第一次登录还是通过存在的 cookie,我想根据我运行的一些查询的结果为他们分配一个或多个额外的用户角色。
我想我需要创建一个事件侦听器来注入安全组件和实体管理器,这样我就可以运行我的查询并向当前用户添加角色。
我不太确定这是否可以通过事件来实现,因为在授权完成之前,但在身份验证之后,需要在防火墙上下文中触发事件。
我确实看到了this existing question,但我无法让它发挥作用(在事件运行后角色实际上并没有被识别)。
是否可以使用事件侦听器来做到这一点?
我认为我的替代方法是在 User 实体上使用加载后生命周期回调并在那里运行一些查询,但这似乎不对。
【问题讨论】:
-
你使用 FOSUserBundle 吗?
-
我没有,我只是在使用我自己的教义entity provider。 FOSUserBundle 的功能比我需要的多得多(不需要注册、忘记密码等)
标签: symfony symfony-2.4