Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Asp.net core 2.0角模板:添加标识和身份验证_C#_Asp.net_Asp.net Mvc_Angular - Fatal编程技术网

C# Asp.net core 2.0角模板:添加标识和身份验证

C# Asp.net core 2.0角模板:添加标识和身份验证,c#,asp.net,asp.net-mvc,angular,C#,Asp.net,Asp.net Mvc,Angular,我正在启动一个新项目,我将使用Visual Studio 2017和Asp.net Core 2.0 Angular模板完成它。在这个项目中,我需要使用角色进行身份验证。这就是我迷路的地方,因为我已经好几年没有使用asp.net了 我的问题是:如何通过JWT向这个Asp.net Core 2.0模板添加身份验证?我不想使用像Auth0这样的外部身份验证服务。我想使用我自己的用户。我看到它可以使用Identity server 4完成,但到目前为止,我发现的每个教程都让我感到困惑 我应该遵循哪些步

我正在启动一个新项目,我将使用Visual Studio 2017和Asp.net Core 2.0 Angular模板完成它。在这个项目中,我需要使用角色进行身份验证。这就是我迷路的地方,因为我已经好几年没有使用asp.net了

我的问题是:如何通过JWT向这个Asp.net Core 2.0模板添加身份验证?我不想使用像Auth0这样的外部身份验证服务。我想使用我自己的用户。我看到它可以使用Identity server 4完成,但到目前为止,我发现的每个教程都让我感到困惑

我应该遵循哪些步骤来实现这些要求?答案可能只是我必须实现的功能的名称。我可以用谷歌搜索并学习如何实现。我只需要名字


感谢您的帮助

如果您使用的是EntityFramework或EntityFrameworkCore,并且您使用的是实体框架迁移,那么您可以轻松地从IdentityDbContext继承DbContext类。以下面的代码为例:

    using Microsoft.AspNetCore.Identity;
    using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
    using Microsoft.EntityFrameworkCore;
    using Phenomenal.WebApp.Domain.BlogModels;

    namespace Phenomenal.WebApp
    {
        public class PhenomenalContext : IdentityDbContext<IdentityUser>
        {
           public PhenomenalContext(DbContextOptions<PhenomenalContext> options)
               :base(options)
           {

        }

        public DbSet<BlogPost> BlogPosts { get; set; }
        public DbSet<Comment> Comments { get; set; }



    }
}
使用Microsoft.AspNetCore.Identity;
使用Microsoft.AspNetCore.Identity.EntityFrameworkCore;
使用Microsoft.EntityFrameworkCore;
使用Phenomenal.WebApp.Domain.BlogModels;
namespace Phenomenal.WebApp
{
公共类现象上下文:IdentityDbContext
{
公共现象上下文(DbContextOptions)
:基本(选项)
{
}
公共DbSet BlogPosts{get;set;}
公共DbSet注释{get;set;}
}
}
保存DbContext后,可以在“包管理器控制台”中运行以下命令,将标识架构和表添加到数据库中:

1)
添加迁移CreateIdentitySchema

这将创建迁移类

2)
更新数据库

这将更新数据库并添加所有标识表

3) entityframeworkcore中的
脚本迁移
或entityframeworkcore中的
更新数据库-脚本

如果要手动创建架构和表,此命令将返回用于创建架构和表的SQL查询


我希望这有帮助

看看这个答案,可能会有用