更改 Angular 和 ASP.NET Core 项目中的默认身份路由

Posted

技术标签:

【中文标题】更改 Angular 和 ASP.NET Core 项目中的默认身份路由【英文标题】:Change default Identity routes in an Angular & ASP.NET Core project 【发布时间】:2020-08-04 16:55:08 【问题描述】:

我将 Angular 配置为使用“登录”路由来显示 LoginComponent 页面。没关系。

但是当我尝试访问一些没有登录的授权页面时,我在浏览器中得到了以下地址:

https://localhost:5001/Identity/Account/Login?ReturnUrl=%2Fapi%2FMyController%2FMyAction

这个错误:

默认的 Identity UI 布局需要通常位于“/Pages/_LoginPartial”或“/Views/Shared/_LoginPartial”的局部视图“_LoginPartial”才能工作。根据您的配置,我们在以下位置查看了它: /Areas/Identity/Pages/Account/_LoginPartial.cshtml /Areas/Identity/Pages/_LoginPartial.cshtml /Areas/Identity/Pages/Shared/_LoginPartial.cshtml /Areas/Identity/Views/Shared/_LoginPartial.cshtml /Pages/Shared/_LoginPartial.cshtml /Views/Shared/_LoginPartial.cshtml

是否可以指向 /login 页面而不是 /Identity/Account/Login

【问题讨论】:

【参考方案1】:

您可以尝试在 Startup.ConfigureServices 中配置应用的 cookie。 ConfigureApplicationCookie必须在调用AddIdentityAddDefaultIdentity后调用:

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

【讨论】:

以上是关于更改 Angular 和 ASP.NET Core 项目中的默认身份路由的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core和Angular 2双剑合璧

ASP.Net Core、Angular2 和基于令牌的身份验证

Angular 和 Asp.Net Core - 启用 2 因素身份验证

将 ASP.NET Boilerplate Core 和 Angular 部署到 Microsoft Azure

使用 MSAL 保护 ASP.Net Core Web API 和 Angular App

ASP.NET Core 3.1 和 Angular:将 api 调用重定向到登录页面