symfony 2 在防火墙检查之前在事件监听器中添加角色

Posted

技术标签:

【中文标题】symfony 2 在防火墙检查之前在事件监听器中添加角色【英文标题】:symfony 2 add roles in an event listener before firewall check 【发布时间】:2013-08-14 22:41:27 【问题描述】:

我有一个用户可以属于许多公司的应用程序。用户通过 compnaysubdomain.example.com 访问公司门户)。当用户访问公司门户时,我必须更新他对该公司的角色(通​​过检查子域和数据库)。 我为此创建了一个请求事件侦听器,它解析子域、查询数据库并向用户添加新角色。问题是我需要能够访问安全上下文,以便我可以更新用户角色,所以我的侦听器优先级必须低于防火墙优先级。但是,如果首先执行防火墙侦听器,它会立即根据公司检查尚未更新的用户角色。

有什么建议吗?可能我需要实现自定义防火墙侦听器或类似的东西。我不想过于复杂。

谢谢。

【问题讨论】:

【参考方案1】:

好的。我决定创建一个防火墙监听器来实现这一点。 我按照教程http://symfony.com/doc/current/cookbook/security/custom_authentication_provider.html,但只创建了防火墙监听器。我正在使用的令牌和提供者已经在使用。

【讨论】:

以上是关于symfony 2 在防火墙检查之前在事件监听器中添加角色的主要内容,如果未能解决你的问题,请参考以下文章

带有授权检查器的 Symfony kernel.response 监听器

Symfony 3 - 登录时的防火墙监听器性能

Symfony:在 SecurityContext 中找不到用于防火墙后路由的令牌

如何将令牌存储作为参数传递给 Symfony 3.4 中的事件监听器

Symfony 2中的kernel.request事件中的身份验证令牌始终为空?

Symfony workflow::can 通过工作流守卫事件监听器