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:在 SecurityContext 中找不到用于防火墙后路由的令牌
如何将令牌存储作为参数传递给 Symfony 3.4 中的事件监听器