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

ASP.NET Core自定义ITicketStore返回错误用户身份问题求助

生产环境出现用户被认证为已登出历史用户身份的问题
  • 架构说明:自定义实现ITicketStore,将认证票据同时存储至Redis与MySQL,Redis作为缓存层用于降低MySQL的读写流量。登录流程为:用户通过Login端点完成登录,票据存入ITicketStore后获得响应Cookie,随后被重定向至Duende IdentityServer的AuthorizeCallbackEndpoint中间件。

  • 异常表现:

    • 用户反馈在仪表盘页面看到非本人的其他用户数据;
    • 应用日志显示,用户重定向到AuthorizeCallbackEndpoint时,使用的是登录阶段生成的正确密钥从ITicketStore获取票据,但该端点返回的Cookie对应的用户身份并非当前登录用户;
    • 初步推测ITicketStore存在逻辑异常:通过正确密钥查询时返回了错误的票据值,甚至可能返回已在Redis中删除的登出用户的旧票据。
  • 排查进展:

    • 测试环境、预发布环境均无法复现该异常;
    • 生产环境已稳定运行6个月,无相关问题上报,首次出现异常为2024年1月29日;
    • 针对自定义ITicketStore开展独立性能测试:用11个并行线程反复执行读写操作,Redis缓存的所有操作均表现正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 10:20:59