Microsoft.AspNet.Identity 剖析(一)—— 初识 Identity
2017-08-05 13:19
363 查看
写在前面的话
本系列是本着剖析 Microsoft.AspNet.Identity 框架深入学习和探索的方式进行,里面涉及的知识可能比较深,相关知识请自行搜索技术进行自我学习,本系列不会额外进行这些相关知识的探讨。Microsoft.AspNet.Identity 简称 Identity,是微软的一套用户认证体系的框架。目前版本是 v3,叫 IdentityCore,只能在 .Net Core 平台上跑;v2 是 Framework 版本,支持 Framework 4.5.1+ 以上,前提是必须安装 OWIN。
一般的用户认证大致包含:
注册
创建帐号
使用第三方注册
登录
身份认证
权限认证
集成第三方登录
密码
找回
重置
修改
其他验证
验证邮箱
验证手机号
Identity 框架也包含了上面这些内容,但他内部提出了一个双因子认证的概念(不懂的同学可以先自行百度)。所以也确保了该框架适用于对内部,在认证上比较严格;而互联网用户,双因子验证就有点麻烦了,除非是涉及到 money 部分。
Identity 框架有两种形式:Mvc 和 WebApi;但主要的部分都是一样的。所以我会先着重介绍 MVC 的部分,因为 Api 的部分还牵扯到了更多的 OAuth2.0 相关的知识。
废话少说,咱们用程序员的思维说话——上干货(代码)
教学系列的模版是 Framework 的 Identity 版本,主要是鉴于目前大部分人使用的都还是 Framework 的体系。Core 版本的思路差不多的。
一、创建项目
二、项目结构
* App_Start/IdentityConfig 这个是对用户管理器的配置,例如:配置用户名注册时允许的长度或字符,密码的长度,是否允许数字字母组合等等;
* App_Start/Startup.Auth 对应用程序开始时的配置,如:配置登录地址,用什么方式存储用户信息(默认是 Cookie),第三方登录的信息等;
* Models/ApplicationUser 配置字段、表、关系、声明等等,Identity 默认使用的 Entityframework 的 Code first 模式。
* Controllers/AccountController 这里就是 MVC 的视图和逻辑,例如 Login, Register 等;
写在最后
我发现很多的博客都只是大致的介绍了 Identity 框架,却没有人说清楚后面的部分。我几年前就开始研究这框架,当初也是因为不懂,资料太少,心烦意乱,也没研究透。主要是该框架包含了很深的 OO 思想,同时还有各种设计模式在里面,特别是 DDD 的一些思想。所以在我苦练基础后,所以我现在可以看懂这个框架的各种设计了,这都已经过去了3、4年了吧。同学们,万变不离其宗,基础真的很重要。
下一章:Microsoft.AspNet.Identity 剖析(二)—— 进入神秘的 UserManager
相关文章推荐
- Microsoft.AspNet.Identity: UserID用整型数据表示, 而不是GUID
- Microsoft.AspNet.Identity.EntityFramework/IdentityUser.cs源码
- Microsoft.AspNet.Identity.EntityFramework 源码
- Microsoft.AspNet.Identity 的导入方法
- [ASP.NET MVC] ASP.NET Identity登入技术剖析
- Microsoft.AspNet.Identity 自定义使用现有的表—登录实现
- Microsoft.AspNet.Identity 的简单使用
- (转)ASP.NET Identity入门系列教程(一) 初识Identity
- Microsoft.AspNet.Identity.EntityFramework/IdentityDbContext.cs
- Asp.net中Microsoft.Identity的IPasswordHasher加密的默认实现与运用
- ASP.NET Identity入门系列教程(一) 初识Identity
- 还在为身份验证引入的Microsoft.AspNet.Identity.EntityFramework导致多上下文,生成的DB改名困扰吗?
- Asp.net Identity 系列之 怎样修改Microsoft.AspNet.Identity.EntityFramework.IdentityUser 的 Id 字段的数据类型
- ASP.NET 2.0中发送电子邮件剖析之一
- Microsoft Asp.Net MVC 从入门到精通
- IIS出现server application error+没有对“C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files”访问权限解决方法
- 深入剖析ASP.NET的编译原理之一:动态编译(Dynamical Compilation)
- IIS 编译器错误消息: CS0016未能写入输出文件“c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\roo
- WCF技术剖析之二:再谈IIS与ASP.NET管道
- MVC架构剖析--ASP.NET MVC图解(二)