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

ASP.NET Core Razor Pages如何设置启动时默认显示登录页

Razor Pages 设置登录页为默认启动页操作步骤

你可以按照以下两种方式实现,优先推荐第一种路由配置方案,无额外跳转开销:

方案一:配置根路径路由映射(推荐)

这个方案可以让用户访问站点根域名时直接加载登录页,地址栏保留根路径,无额外重定向。

  1. 打开项目根目录下的Program.cs文件
  2. 找到注册Razor Pages服务的代码段,追加路由约定配置,示例代码如下:
// 替换原有builder.Services.AddRazorPages()代码,注意匹配你自己的登录页路径
builder.Services.AddRazorPages().AddRazorPagesOptions(options =>
{
    // 路径规则:相对于Pages文件夹,去掉.cshtml后缀,开头加斜杠
    // 例1:登录页路径是 Pages/Login.cshtml → 填"/Login"
    // 例2:登录页路径是 Pages/Account/Login.cshtml → 填"/Account/Login"
    options.Conventions.AddPageRoute("/Account/Login", "");
});
  1. 保存文件后重启应用,访问根路径测试即可。

方案二:默认页重定向(备选)

如果你不需要保留根路径展示,可以直接在默认生成的Index页添加跳转逻辑:

  1. 打开/Pages/Index.cshtml.cs文件
  2. 在OnGet方法中添加重定向代码:
public IActionResult OnGet()
{
    // 路径填写规则和方案一一致
    return RedirectToPage("/Account/Login");
}

注意:这个方案会产生一次302跳转,用户访问根路径后地址栏会跳转到登录页的实际路由地址。


常见问题排查

  • 如果配置后不生效:先检查登录页路径是否填写正确,不要加.cshtml后缀,不要包含Pages文件夹前缀
  • 如果项目用的是.NET Core 3.1/.NET 5版本:路由配置写在Startup.cs的ConfigureServices方法里,代码逻辑和上面完全一致
  • 如果配置了全局身份认证授权:这个路由规则优先级高于授权跳转,不会出现带ReturnUrl参数的跳转地址

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 23:21:44