📜  ASP.NET Core-身份概述

📅  最后修改于: 2020-11-21 05:02:15             🧑  作者: Mango


在本章中,我们将简要讨论ASP.NET Core Identity框架。 ASP.NET Core Identity框架用于实现表单身份验证。有很多选项可用来识别用户,包括Windows身份验证和所有第三方身份提供程序,例如Google,Microsoft,Facebook和GitHub等。

  • Identity框架是另一个依赖关系,我们将在project.js文件中将其添加到应用程序中。

  • 该框架使我们可以添加功能,以便用户可以使用本地密码注册和登录。

  • 该框架还支持两因素身份验证,第三方身份提供程序和其他功能。

  • 我们将重点介绍用户可以注册,登录和注销的方案。

为此,我们需要创建一个User实体,并且该类将从Identity框架中的基类继承,该基类为我们提供了标准的用户属性,例如用户名和电子邮件地址。

身份概述

  • 我们可以在此类中包含任意数量的其他属性,以存储有关用户的信息。

  • 我们需要使用此User类并将其插入Identity框架提供的UserStore类中。

  • UserStore是我们的代码将用来创建用户并验证用户密码的类。

  • 最终,UserStore将与数据库对话。身份框架支持实体框架以及可以与实体框架一起使用的所有数据库。

  • 但是您可以实现自己的UserStore以与任何数据源一起使用。

  • 为了正确使用Entity Framework,我们的User类还将插入IdentityDb类。

  • 这是一个使用Entity Framework DBContext进行实际数据库工作的类。

  • 我们需要通过使现有的DataContext类继承自IdentityDb而不是实体框架的DBContext来将此IdentityDb包含到我们的应用程序中。

  • IdentityDb和UserStore一起工作以存储用户信息并验证用户密码(数据库中的哈希密码)。

我们需要了解两部分ASP.NET Core Identity Framework。

核心身份框架

登录管理器

这是Identity框架的两部分之一-

  • 顾名思义,一旦我们确认密码, SignInManager便可以登录用户。

  • 我们还可以使用该管理员来注销用户。

  • 使用表单身份验证时,登录和注销通过管理cookie来完成。

  • 当我们告诉SignInManager登录用户时,管理器会向用户的浏览器发布一个cookie,浏览器将在随后的每个请求中发送此cookie。它可以帮助我们识别该用户。

身份中间件

这是框架的第二部分-

  • 读取SignInManager发送的cookie并识别用户,这发生在框架的最后一部分,即身份中间件。

  • 我们将需要将此中间件配置到我们的应用程序管道中,以处理SignInManager设置的cookie。在接下来的几章中,我们还将看到该中间件的其他功能。