【问题标题】:Asp.net core 2.0 Angular template: add identity and authenticationAsp.net core 2.0 Angular 模板:添加身份和身份验证
【发布时间】:2017-12-08 14:51:38
【问题描述】:
我正在开始一个新项目,我将使用 Visual Studio 2017 和那个 Asp.net Core 2.0 Angular 模板来完成它。在这个项目中,我需要使用角色进行身份验证。自从我多年没有使用 asp.net 以来,这就是我迷失的地方。
我的问题是:如何通过 JWT 向这个 Asp.net Core 2.0 angular 模板添加身份验证?我不想使用像 Auth0 这样的外部身份验证服务。我想使用我自己的用户。我看到它可以使用 Identity server 4 来完成,但到目前为止,我发现的每个教程都让我感到困惑。
我应该遵循哪些步骤来实现这些要求?答案可能只是我必须实现的功能的名称。我可以谷歌并学习如何实施。我只需要名字
感谢您的帮助
【问题讨论】:
标签:
c#
asp.net
asp.net-mvc
angular
【解决方案1】:
如果您正在使用 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; }
}
}
保存 DbContext 后,您可以在“包管理器控制台”中运行以下命令,将身份架构和表添加到数据库中:
1)Add-Migration CreateIdentitySchema
这将创建迁移类。
2)Update-Database
这将更新您的数据库并添加所有身份表。
3) Script-Migration 在 entityframeworkcore 或 Update-Database -script 在 entityframework
如果您想手动创建,此命令将返回用于创建架构和表的 SQL 查询。
我希望这会有所帮助。