Microsoft.AspNet.Identity是微软在MVC 5.0中新引入的一种membership框架,和之前ASP.NET传统的membership以及WebPage所带来的SimpleMembership(在MVC 4中使用)都有所不同。
Microsoft.AspNet.Identity是符合微软开放Owin标准里面Security标准的一种实现。且在MVC 5中默认使用EntityFramework作为Microsoft.AspNet.Identity的数据存储实现。
ASP.NET Identity是在.NET Framework4.5中引入的,从Membership发布以来,微软已经从开发者以及企业客户那里面得到了足够的反馈信息来帮助他们打造这样一套新的框架。他所拥有的特点大多也是前面所不能满足的,有下列特性,详细内容参见 ASP.NET Identity 简介:
- 一套ASP.NET Identity,可以用于ASP.NET下的web form, MVC, web pages, web API等
- 和Simple Membership Provider,可以灵活订制用户信息,同样采用EF Code First来完成数据操作
- 完全自定义数据结构
- 单元测试的支持
- 与Role Provider集成
- 支持面向Clamis的认证
- 支持社交账号的登录
- OWIN 集成
- 通过NuGet发布来实现快速迭代
ASP.NET Identity V1 有一个不够完美地方是主键必须是string 类型。ASP.NET Identity V2可以用任何类型作为主键了,而且接口还有一个泛型参数,TKey可以是任何类型(int, Guid等等),同时还增加了下列接口。
- IUserLockoutStore<User, TKey>: 在尝试一定的失败次数后允许锁定一个账号
- IUserEmailStore<User, TKey>: 使用邮件地址做确认 (例如通过邮件进行确认)
- IUserPhoneNumberStore<User, TKey>: 使用手机号码做确认(例如通过短信进行确认)
- IUserTwoFactorStore<User, TKey>: 启用2中途径进行安全验证 (例如通过用户名/密码和通过邮件或者短信的令牌),当用户密码可能存在不安全隐患的时候,系统会以短信或邮件的方式向用户发送安全码
SQL Database Project for ASP.NET Identity 2.0
MVC5 - ASP.NET Identity登录原理 - Claims-based认证和OWIN
MVC使用ASP.NET Identity 2.0实现用户身份安全相关功能,比如通过短信或邮件发送安全码,账户锁定等
ASP.NET Identity 2新增双重认证、帐号锁定、防伪印章功能并修复了一些bug
Securing ASP.NET MVC Applications with ASP.NET Identity
asp.net identity 2.2.0 中角色启用和基本使用(一)
asp.net identity 2.2.0 中角色启用和基本使用(二)
asp.net identity 2.2.0 中角色启用和基本使用(三)
asp.net identity 2.2.0 中角色启用和基本使用(四)