您的位置:首页 > 编程语言 > ASP

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: