ASP.NET Core Identity 框架 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core Identity 框架 - ASP.NET Core 基础教程 - 简单教程,简单编程
ASP.NET Core Identity 框架
前面我们使用了 N 多个章节,终于是把 ASP.NET Core MVC 经常使用的功能大略的过了一遍。其它的内容,要么更深入,要么更少使用,我们就不再继续了。本章节我们开始学习 ASP.NET Core 中另一个重要的框架:Identity 框架 ,也就是所谓的身份验证框架
ASP.NET Core Identity 框架用于实现表单身份验证, 有许多验证方式可供选择,包括 Windows 身份验证和所有第三方身份验证,如 Google,Microsoft,Facebook 和 GitHub 等
Identity 框架还支持双因素身份验证,也就是所谓的两步验证,当然也支持第三方身份提供商和其它功能
当然了,我们将重点介绍用户可以注册并登录和注销的场景,也就是说, 我们可以使用 Identity 框架 给我们的应用添加注册登陆功能,这样用户可以注册并使用本地密码登录
检查是否安装了 Identity 框架
ASP.NET Core 一般内置了 Identity 框架,我们可以展开依赖项 Microsoft.AspNetCore.App
包,一路查找名为 Microsoft.AspNetCore.Identity
的程序集
如果找到,则说明已经安装了
如果没有找到,请参考前面的章节安装 Microsoft.AspNetCore.Identity
Identity 框架注册与登录
为了使用 Identity 框架实现注册与登录,我们需要创建一个 User
实体,实体类将从 Identity
框架中的基类继承,该基类提供了标准用户属性,如用户名和电子邮件地址
-
可以给
User
添加其它属性来保持我们想要的保存的用户信息 -
然后,需要把这个
User
类加入到 Identity 框架提供的 UserStore 类中 -
最后,使用
UserStore
与数据库进行交互, Identity 框架支持 EF 框架和可以与 EF 框架一起工作的所有数据库当然了,我们也可以自定义
UserStore
来支持任何其它数据源
为了正确地使用 EF 框架,我们需要将 User
类插入到 IdentityDb
类,该类使用 EF 框架的 DBContext
完成实际数据库操作
当然了,使用 IdentityDb
类的方式是让现有的 DbContext
类从 IdentityDb
继承,而不是继承 EF 框架的 DBContext
IdentityDb
和 UserStore
类一起用于存储用户信息并验证用户密码
是不是很拗口,算了,以后再回来整理,有种说不清楚到不明白的感觉,但用起来却是非常的简单
Identity 框架最重要的两个组件
Identity 框架提供了很多组件,但我觉得最重要的莫过于两个:SignInManager 和 Identity 中间件
1. SignInManager ( 登录管理器 )
顾名思义,一旦密码验证通过,SignInManager 就允许用户登录
当然了,SignInManager 还可以用于登出一个用户
如果使用表单身份验证,那么登录和注销通过管理 cookie 来实现的。当我们告诉 SignInManager 允许某个用户登录时, SignInManager 会向用户的浏览器返回一个 cookie,浏览器接下来的每个后续请求中都会发送该 cookie,直到 cookie 过期,我们可以使用该 cookie 来识别用户
2. Identity 中间件
Identity 中间件读取 SignInManager
发送的 cookie
并识别用户,一般情况下,Identity 中间件都是在排在所有其它中间件之后才运行的
要使用该中间件,我们需要将它配置到我们的应用程序管道中,才能处理 SignInManager
设置的 Cookie

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
从4个方面简单介绍SaaS
你了解什么是SaaS吗?SaaS有什么优势?选择SaaS平台要注意哪些要素?在这里,怡海软件将针对这些问题进行简单介绍: 什么是SaaS?SaaS是Software-as-a-Service(软件即服务)的简称,随着互联网技术的发展和应用软件的成熟, 在21世纪开始兴起的一种完全创新的软件应用模式。用户不用再购买软件,而改用向提供商租用基于Web的软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件,对于许多小型企业来说,SaaS是采用先进技术的最好途径,它消除了企业购买、构建和维护基础设施和应用程序的需要。 SaaS模式逐渐在全球得到认可,并得到大范围的普及和全面发展,目前,提供SaaS服务产品的知名供应商有Microsoft、Salesforce 、SAP、Oracle等。 SaaS 优势?只需连通互联网,就可以直接拥有所有IT设备。从历史上看,尽管需要额外的成本,企业仍然需要购买、构建和维护自己独立的IT基础设备。SaaS为企业提供了另外一种选择。如今,企业可以自行安装注册,并通过互联网使用共享的基础设施服务。 促使客户采取SaaS解决方案的原因?因为S...
- 下一篇
ASP.NET Core Identity 配置 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core Identity 配置 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core Identity 配置 上一章节我们简单介绍了下 Identity 框架中的 [Authorize] 和 [AllowAnonymous],但在章节的末尾,我一直费解的是为什么不是提示 401 未授权而是报错 后来我想了想,想了想,终于想起来了,我们在创建 HelloWorld 项目的时候没有勾选验证用户选项 如果你的电脑是 Windows,是否还记得下面这张图 对,我们选择的就是 不进行身份验证 哎,早知如此,何必当初,算了,算了,我们想一些办法进行补救吧。 如果你使用 Visual Studio 创建一个新的 ASP.NET Core 应用程序时,如果设置了身份验证。那么就可以跳过接下来的设置了。 不过呢,我建议你继续往下学习,说不定,哪天,用得着呢 本章节,我们将学习如何安装和配置 Identity 框架,其实只要做一点点的配置 配置 Identity 事项 因为我们的 HelloWorld 是从一个空的项目模板开始的,所以我们将头开始...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS6,CentOS7官方镜像安装Oracle11G
- Mario游戏-低调大师作品
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7