将 ASP.NET Core Razor 页面中的默认页面更改为登录页面

GKB*_*GKB 4 .net-core razor-pages

我正在使用 ASP.NET Core Razor 页面将默认页面从 /Home/Index 更改为 /Identity/Account/Login,但它始终加载 /Home 页面作为默认页面。

services.AddMvc()
                .SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
                .AddRazorPagesOptions(options =>
                {
                    options.Conventions.Clear();
                    options.AllowAreas = true;
                    options.Conventions.AddAreaPageRoute("Identity", "/Login", "/Identity/Account/Login");
                });
Run Code Online (Sandbox Code Playgroud)

它应该加载登录页面模型作为默认页面。请帮我解决上述问题。等待您的快速回复。

uri*_*rig 8

要将站点的根映射到/Identity/Account/LoginASP.Net Core(v2.1 及更高版本)中的页面,您可以按照以下说明操作:

  1. 撤消您在该方法中所做的更改ConfigureServices()。(IE .AddRazorPagesOptions(...)

  2. 将Login.cshtml模板文件@page顶部的声明更改为@page "/"

  3. 如果尚未删除Index.cshtmlIndex.cs页面文件,请删除它。

第 1 步是清理。

第2步是配置登录根路径/。(更多信息在这里

步骤 3 是必要的,因为如果不删除索引AmbiguousMatchException页面文件,它们将按照约定映射到根路径,并且将与步骤 2 中的更改冲突。当您浏览到根路径时,这将抛出。