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

如何修改[Authorized]特性默认跳转的/Account/Login为自定义登录路径

解决方案

根据你使用的ASP.NET Core版本不同,可以通过以下几种方式修改未授权访问的重定向登录路径:

1. ASP.NET Core 6+(Program.cs 顶层语句配置)

如果你使用的是Cookie身份认证(最常用的场景),直接在添加Cookie认证的配置块里修改LoginPath属性即可,示例代码如下:

var builder = WebApplication.CreateBuilder(args);

// 添加身份认证服务
builder.Services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
    .AddCookie(options =>
    {
        // 这里修改为你自定义的登录页路径
        options.LoginPath = "/auth/login";
        // 可选:同步修改无权限访问时的跳转路径
        options.AccessDeniedPath = "/auth/accessdenied";
    });

// 后续其他服务注册...

var app = builder.Build();

// 注意要保证中间件顺序:先UseAuthentication,再UseAuthorization
app.UseAuthentication();
app.UseAuthorization();

// 其他中间件配置...
app.Run();

2. ASP.NET Core 3.1 / 5(Startup.cs 配置)

修改ConfigureServices方法里的Cookie认证配置即可:

public void ConfigureServices(IServiceCollection services)
{
    services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
        .AddCookie(options =>
        {
            options.LoginPath = new PathString("/auth/login");
            options.AccessDeniedPath = new PathString("/auth/accessdenied");
        });
    
    // 其他服务配置
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // 同样要保证中间件顺序正确
    app.UseAuthentication();
    app.UseAuthorization();
    
    // 其他中间件配置
}

3. 如果你使用了ASP.NET Identity脚手架

如果是基于Identity的项目,你需要在添加Identity的配置后追加Cookie配置,示例如下(以ASP.NET Core 6+为例):

builder.Services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
    .AddEntityFrameworkStores<ApplicationDbContext>();

// 追加覆盖Identity默认的Cookie配置
builder.Services.ConfigureApplicationCookie(options =>
{
    options.LoginPath = "/auth/login";
    options.AccessDeniedPath = "/auth/accessdenied";
});

验证效果

配置完成后重启项目,再次访问加了[Authorize]特性的客户端页面,未登录时就会自动跳转到你配置的/auth/login路径,不会再走默认的/Account/Login路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 15:36:04