将身份验证添加到.NET Core 2.0角模板中



我正在尝试使用.NET Core 2.0 Angular模板(在Visual Studio 2017中(实现身份验证。我尝试使用ASP.NET身份尝试遵循此教程

我会马上被添加到startup.cs的dbcontext。

startup.cs:

  public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<ApplicationDbContext>(options =>
     options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
    services.AddDbContext<EduSmartContext>(options =>
     options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
    services.AddMvc();
}

添加applicationdbcontext时,我会在startup.cs中获得此错误:

类型的'edusmart.data.applicationdbcontext'不能用作类型 通用类型或方法中的参数" tcontext" 'entityFrameworkServiceCollectionExtensions.adddbContext(IservCollection, 动作,Servicelifetime,ServicelifTime('。 没有隐含的参考转换 'edusmart.data.applicationdbcontext'to 'Microsoft.entityFrameWorkCore.dbContext'。Edusmart C: src edusmart startup.cs 30 Active

我正在寻找以下三个选项之一:

  1. 解决上述错误。
  2. 通过 使用ASP.NET身份实现身份验证的步骤教程
  3. 建议使用Angular ASP.NET核心应用程序进行更好的方法链接的资源

而没有看到更多代码,我猜

1.解决上述错误。

指出您的ApplicationDbContext不是从dbcontext得出的。我认为将您的EduSmartContext实体移至ApplicationDbContext将为您完成工作。

public class EduSmartContext : IdentityDbContext<ApplicationUser>
    {
        public EduSmartContext(DbContextOptions<EduSmartContext> options)
            : base(options)
        {
        }
        public DbSet<Poco1> Poco1s { get; set; }
        ...
        ...

2.链接到更清晰的逐步教程,以使用ASP.NET Identity

实现身份验证

您最好使用ASP.NET Core WebAPI搜索基于令牌的身份验证。https://logcorner.com/token-lase-authentication-using-asp-net-web-api-core/

3. uggest使用链接资源

对Angular ASP.NET核心应用进行身份验证的更好方法

如果您愿意对此进行投资,我建议您使用也称为STS(安全令牌服务器(的身份验证服务器例如IdentityServer4或OpenIDDICT如果有身份服务员,此文章可能会有所帮助:

https://damienbod.com/2016/10/01/indistityserver4-webapi-and-angular2-in-a-a-single-asp-net-core-project/

相关内容

  • 没有找到相关文章

最新更新