没有身份但后来添加的应用程序现在辅助身份验证不起作用

Application without identity but added later now secondary authentication is not working

我使用 ASP.NET Core MVC 5.0 开发了我的第一个应用程序。

已经有一个数据库,但我在新程序中实现了完整的数据库,现在问题是 ASP.NET 核心身份。因此,对于身份,我按照说明搭建了脚手架,最终使用电子邮件和密码实现了默认身份验证。

services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = false)
                .AddRoles<IdentityRole>()
                .AddEntityFrameworkStores<ApplicationDbContext>();

startup.cs 之后,我有一个带有现有字段的模型,即 cardno,phone 并想对此进行身份验证。在 PHP 中使用 $_SESSION 变量真的很容易。但现在在这里,我希望这一切发生在 ASP.NET 任何帮助将不胜感激。

services.AddIdentity<CnicUser, IdentityRole>().AddEntityFrameworkStores<ApplicationDbContext>();

我为自定义身份验证添加的代码出现此错误

Application startup exception System.InvalidOperationException: Scheme already exists: Identity.Application at Microsoft.AspNetCore.Authentication.AuthenticationOptions.AddScheme(String name, Action`1 configureBuilder)

您试图在 Startup.cs 中添加两次 identity service,这是不正确的。所以快速的解决方案是你必须删除其中一个,这将删除你遇到的异常。

因此删除您之前添加的 services.AddDefaultIdentity,这样它就会相应地工作。

Note: Deleting either of the addDefaultIdentities will work. You just can't have it in both locations in your case its creating the issue.