如何更改 ASP.NET Core 中的身份授权路径?
How do I change the Identity authorization path in ASP.NET Core?
我创建了一个 Account
文件夹,其中包含 AccountController
、Login
和 Register
视图,以及 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.cs
class
在这个方法中
public void ConfigureServices(IServiceCollection services)
您需要添加
services.ConfigureApplicationCookie(options =>
{
options.LoginPath = "/Account/Login";
});
我创建了一个 Account
文件夹,其中包含 AccountController
、Login
和 Register
视图,以及 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.cs
class
在这个方法中
public void ConfigureServices(IServiceCollection services)
您需要添加
services.ConfigureApplicationCookie(options =>
{
options.LoginPath = "/Account/Login";
});