You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Symfony 5.3多用户提供器下防火墙配置login_throttling报错如何解决

报错根源

当Symfony项目中注册了多个用户提供器时,login_throttling 监听器无法自动判断应使用哪个提供器的用户身份信息统计限流次数,因此触发歧义报错。

解决方案

为每个启用了login_throttling的防火墙显式绑定对应的用户提供器即可:

  • 首先在防火墙配置根节点指定该防火墙默认使用的用户提供器
  • 再在login_throttling配置节点下显式指定限流规则关联的用户提供器,消除歧义

如果卖家端seller防火墙也需要启用登录限流,可按相同规则配置,也可以单独为卖家端定义独立的限流策略。

修改后配置示例(仅展示需调整的firewalls节点)
security:
    firewalls:
        main:
            # 绑定当前防火墙默认使用的用户提供器
            provider: app_user_provider
            login_throttling:
                limiter: app.login_rate_limiter
                # 显式指定限流规则使用的用户提供器
                provider: app_user_provider
            custom_authenticator: App\Security\LoginFormAuthenticator
            logout:
                path: app_logout
        seller:
            # 绑定卖家端防火墙的用户提供器
            provider: sellers_provider
            # 若卖家端也需要限流,新增如下配置,不需要则可删除
            login_throttling:
                limiter: app.login_rate_limiter # 也可单独定义新的limiter实现不同的限流规则
                provider: sellers_provider
            custom_authenticator: App\SellerPanel\Security\SellerAuthenticator
            logout:
                path: seller_logout

修改完成后清空缓存即可正常使用登录限流功能。

内容的提问来源于stack exchange,提问作者ppoz21

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 04:45:03