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

.NET 8 Blazor Server API调用返回登录页问题排查

问题原因分析:Blazor Server API调用返回登录页面

以下是导致该问题的常见原因:

  • 端点映射顺序错误:如果在配置中间件时,先注册了Blazor的 fallback 路由(MapFallbackToPage("/_Host")),再注册API控制器路由(MapControllers()),那么所有未被前面路由匹配的请求(包括合法的API请求)都会被Blazor的fallback路由接管,直接跳转至登录页面。Blazor的fallback路由优先级高于后续注册的API路由,会覆盖未匹配的请求。

  • 认证中间件配置不当:

    • 若UseAuthentication和UseAuthorization中间件的注册顺序晚于Blazor端点配置,API请求在经过认证检查前就会被Blazor路由处理,触发登录跳转。
    • 未为API端点单独指定JWT Bearer认证策略,导致API请求使用了Blazor页面的Cookie认证逻辑,当Bearer Token未被正确识别时,系统会重定向到登录页面而非返回401未授权响应。
  • 路由路径冲突:API的路由路径与Blazor页面的路由路径重复(例如API路由为/api/user,而Blazor恰好有一个匹配/api/user的页面路由),此时Blazor的路由系统会优先匹配页面路由,返回登录页面而非API数据。

  • Fallback路由捕获范围过大:Blazor Server的MapFallbackToPage默认会捕获所有未匹配的GET请求,如果你的API接口使用GET方法,且路由未被MapControllers正确匹配,就会被fallback路由导向_Host页面,进而触发登录流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 12:55:56