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

Blazor登录页跳转至忘记密码页后自动重定向问题求助

Blazor未认证用户访问忘记密码页自动重定向问题解决方案

以下是几个排查和解决方向:

  • 检查全局授权策略配置
    如果你的Blazor应用设置了全局认证要求(比如通过FallbackPolicy强制所有路由需要认证),需要单独排除/forgetpassword路径。在Program.cs中调整中间件配置:

    // 配置全局授权策略
    builder.Services.AddAuthorization(options =>
    {
        options.FallbackPolicy = new AuthorizationPolicyBuilder()
            .RequireAuthenticatedUser()
            .Build();
    });
    
    // 对除了忘记密码页之外的路由应用授权中间件
    app.UseWhen(context => !context.Request.Path.StartsWithSegments("/forgetpassword"), appBuilder =>
    {
        appBuilder.UseAuthorization();
    });
    

    或者在映射回退页时直接允许匿名访问该路径:

    app.MapFallbackToPage("/_Host")
       .RequireAuthorization()
       .AllowAnonymous("/forgetpassword");
    
  • 验证登录页的导航逻辑
    确认登录页的「忘记密码」链接使用正确的Blazor导航组件,比如:

    <NavLink href="/forgetpassword">忘记密码</NavLink>
    

    同时检查登录页是否存在初始化时强制重定向的逻辑,比如OnInitializedAsync中如果错误判断了认证状态,导致用户跳转后又被拉回登录页。若有这类代码,需添加路径判断排除/forgetpassword场景。

  • 排查自定义AuthenticationStateProvider
    如果应用使用了自定义的AuthenticationStateProvider,检查其状态变更逻辑是否存在强制跳转到登录页的代码。若有,需添加条件判断,当当前路径为/forgetpassword时不触发重定向。

  • 确认忘记密码页的特性与路由
    确保页面的@page "/forgetpassword"路由无拼写错误,且@attribute [AllowAnonymous]位于页面最顶部,没有与[Authorize]等其他授权特性冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 08:22:12