如何更改 ASP.NET Core 中的身份授权路径?

How do I change the Identity authorization path in ASP.NET Core?

我创建了一个 Account 文件夹,其中包含 AccountControllerLoginRegister 视图,以及 link 布局页面上的这些视图。一切正常,路径如下所示:

localhost/Account/Login

当我将 [Authorize] 添加到控制器时,我的问题就开始了。当我单击由该控制器处理的 link 时,它没有路由到我的 Login 视图,而是路由到:

localhost/Identity/Account/Login

Startup.cs 或其他文件中是否有我可以更改默认路径的地方,以便它路由到我的 Login 页面?

您可以通过配置cookie选项来配置登录路径:

在你的Startup.cs

services.ConfigureApplicationCookie(options =>
            {
                options.AccessDeniedPath = "/access-denied";
                options.LoginPath = "/login";
                options.LogoutPath = "/logout";
            });

在你的Startup.csclass

在这个方法中

public void ConfigureServices(IServiceCollection services)

您需要添加

services.ConfigureApplicationCookie(options =>
            {
                options.LoginPath = "/Account/Login";
            });