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

如何在ASP.NET Core Razor Pages设置登录路径?遇路径格式报错

ASP.NET Core Razor Pages 登录路径设置及路径格式报错解决

报错重现

你遇到的报错信息如下:

ArgumentException: The path in 'value' must start with '/'. (Parameter 'value')

即使代码中设置了options.LoginPath = "/Login",仍触发该错误,对应的配置代码:

builder.Services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
                .AddCookie(options =>
                {
                    options.LoginPath = "/Login";
                });

可能的原因及解决办法

  • 检查字符串转义问题:如果代码是从HTML页面复制而来,可能携带了HTML转义字符(比如"),实际运行时会被解析为\"/Login\",导致路径格式错误。确保代码中直接使用原生双引号包裹路径:options.LoginPath = "/Login";。
  • 排查配置覆盖情况:检查项目后续代码是否修改了LoginPath的值,比如误将其改成不带开头/的相对路径(如"Login")。可以在配置后添加调试代码确认最终值:
    Console.WriteLine(options.LoginPath);
    
  • 使用PathString类型显式赋值:避免字符串隐式转换带来的问题,直接用PathString类型初始化路径:
    options.LoginPath = new PathString("/Login");
    
  • 确认Razor Pages路由匹配:确保Login页面的路由配置正确,Login.cshtml的@page指令没有自定义非根路径的路由(比如如果页面路由是/Account/Login,则登录路径要对应改为"/Account/Login")。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 20:39:19