【问题标题】:How do I change the Identity authorization path in ASP.NET Core?如何更改 ASP.NET Core 中的身份授权路径?
【发布时间】:2022-01-23 15:56:02
【问题描述】:
我创建了一个 Account 文件夹,其中包含 AccountController、Login 和 Register 视图,并在我的布局页面上链接到这些视图。一切正常,路径如下所示:
localhost/Account/Login
当我将[Authorize] 添加到控制器时,我的问题就开始了。当我单击由该控制器处理的链接时,它不会路由到我的 Login 视图,而是路由到:
localhost/Identity/Account/Login
Startup.cs 或其他文件中是否有我可以更改该默认路径以便它路由到我的Login 页面的地方?
【问题讨论】:
标签:
asp.net-core-mvc
asp.net-identity
asp.net-authorization
【解决方案1】:
在你的Startup.cs 班级中
在这个方法中
public void ConfigureServices(IServiceCollection services)
你需要添加
services.ConfigureApplicationCookie(options =>
{
options.LoginPath = "/Account/Login";
});
【解决方案2】:
您可以通过配置cookie选项来配置登录路径:
在你的Startup.cs
services.ConfigureApplicationCookie(options =>
{
options.AccessDeniedPath = "/access-denied";
options.LoginPath = "/login";
options.LogoutPath = "/logout";
});