猿教程 Logo

Asp.Net Core-身份验证

阿里云服务器,每月低至7.8元,项目演示即建站必备,比腾讯云更便宜,并且不需学生认证,从此链接购买有效:去购买

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

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

  • 此框架允许我们添加让用户可以注册和使用本地密码登录的功能。

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

  • 我们将关注用户可以注册和登录和注销的情况。

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


  • 我们在这个类上可以包括尽可能多的额外的属性,我们想要在这个类上存储与我们的用户有关的信息。

  • 我们需要获取这个User类并将其插入Identity框架提供的UserStore类。

  • UserStore是我们的代码将与之交谈以创建用户和验证用户密码的类。

  • 最终,UserStore将与数据库通信。 Identity框架支持实体框架以及可以与实体框架一起使用的所有数据库。

  • 但是你可以实现自己的UserStore来处理任何数据源。

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

  • 这是一个使用实体框架DBContext做实际数据库工作的类。

  • 我们需要将这个IdentityDb包含到我们的应用程序中,使我们现有的DataContext类继承自IdentityDb,而不是Entity Framework的DBContext。

  • 正是IdentityDb和UserStore协同工作来存储用户信息和验证用户密码,数据库中的散列密码。

主要有两个ASP.NET Core身份框架,现一一介绍。



SignInManager

这是身份框架的两个部分之一 -

  • 顾名思义,一旦我们验证了密码,SignInManager就可以登录用户。

  • 我们也可以使用此管理员签署用户。

  • 使用表单身份验证,登录和退出是通过管理cookie完成的。

  • 当我们告诉SignInManager签署一个用户时,系统向用户的浏览器发出一个cookie,浏览器会在每个后续请求中发送这个cookie。 它可以帮助我们识别该用户。


Identity 中间件

这是框架的第二部分 -

读取由SignInManager发送的cookie并识别用户,这发生在框架的最后一个部分,即Identity Middleware。

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

阿里云服务器,每月低至7.8元,项目演示即建站必备,比腾讯云更便宜,并且不需学生认证,从此链接购买有效: 去购买


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/ASPNET-CORE/core-identity.html