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

Symfony 6.4 用户模拟功能异常:切换至子用户后无法访问带参数的路由

Symfony 6.4 用户模拟功能异常:切换至子用户后无法访问带参数的路由

我正在开发一个基于Symfony 6.4的应用,场景是家长用户(对应User实体)可以关联多个子用户(同样是User实体),并且能以子用户的身份登录操作应用。我决定用Symfony自带的用户模拟功能来实现这个需求。

因为家长注册子用户时不需要填写邮箱,所以没法用用户名来切换用户,只能通过ID来实现。为此我做了以下几项定制:

  • 编写了自定义控制器来处理用户切换逻辑
  • 实现了自定义Voter来控制切换权限
  • 在配置里新增了第二个安全提供者

目前基础的用户切换功能是正常的:我可以顺利从家长账号切换到子用户,也能切回家长账号,来回操作都没问题。

但现在遇到了一个奇怪的问题:当我切换到子用户身份后,只要访问带有参数(比如id)的路由,就会触发错误,报错信息如下:

An exception has been raised when rendering a template (“Some mandatory parameters are missing ("id") to generate a URL for route "xxx".”)

备注:内容来源于stack exchange,提问作者Kalm122

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 15:34:33