新的membership框架Asp.net Identity(1)——.Net membership的史

以Asp.net上,微软的membershop框架经历了Asp.net membership到Asp.net
simple membership,再届如今底Asp.net Identity.
每一样不行变动,都使验证框架进一步的服变化以及可定制。这首文章是Asp.net
Identity系列之开篇,主要就membership的历史及Asp.net
Identity中之着之一部分初的特点和计划思想分享一下谈得来之理解。后续将会见对Asp.net
Identity的实际采用及贯彻方式等进行更加进行。

一, Asp.net membership

Asp.net membership是以2005年之Asp.net 2.0引入的。微软首糟啊Web
Form提供了一如既往效仿membership解决方案,包含了说明的组织,基础之操作User,
Role等之好像,甚至还起同样仿控件(用户登录login,
用户注册createuserwizard等这些控件)和同等学现成的管理页面用来安排。(如下图)

图片 1

微软直接的优势,就是挺之傻瓜化,什么都是现的,直接以来就是因此,但是也带来了一个负面的熏陶,就是适应性差,缺乏弹性,无法答应本着实际运用被的歧异需求,
这关键反映于:

    1. 无法更改表结构,Asp.net
      membership为卿定义好了User,Role等表,但是实际的出被,你的User表可能用再次多之字段,这个时节累只能在开立一个存储User附属信息的表。
  • 2.
    提供的控件看似方便,但是实际鸡肋。由于自带的login控件和membership类,只提供了简短的用户信息录入,不能够满足我们种的用。例如:我们而用户注册之早晚还要输入QQ号码,电话号码,家庭地址。那么用默认的计是从未主意化解之。
    1. 默认只能是储存在Full Sql Server中,对于SQL Server CE, SQL
      Azure都未支持。通过打定义的Provider可以以membership中的数存储到其它的关系数据库中,但是于NoSQL数据库,实现起来格外麻烦。

二, Asp.net simple membership

Asp.net simple
membership是再度同糟糕的改良,目标是被你再便于地将membership集成及存活的系统被。更易于反映于,它的标依赖少,对于本来系统的侵入少。

足定义自己之User表,然后通过下面代码,
生成membership工作所依靠的发明,你尽管能用公系统遭到之User表和simple
membership无缝衔接起来。SimpleMembership没有强制的申结构,
所以你得就此任何你觉得舒心的定义自己之User表来存储User信息。这里实在中便是出2独User表,一个是公定义之User表;另一个凡是simple
membership中的User表,只包含和membership相关的音讯。

WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", true);

产图是simple membership在数据库被生成的表

图片 2

但simple
membership本质上也止是达到一代membership的改良而已。从下面的觊觎中可知看出来,simple
membership是membership的另外一种植实现,提供了一如既往种植方便使用的MembershipProvider。

图片 3

是因为这种由, simple membership仍然摆脱无了部分害处:

  • 仍无法运用至NoSql数据库中.
  • 没辙集成到OWIN中
  • 束手无策方便之扩张

其三,Asp.net Identity简单介绍

Identity是微软规划之新的独自的membership系统,是为所有的Asp.net应用提供劳务的

Identity有下优点:

  • Asp.net全境适用:  Asp.net, MVC, web api, SignalR
  • User信息自定义
  • 仓储易于扩展: 默认下EF Code
    First存储到数据库中,但是呢非常容易扩展至SharePoint, Windows Azure
    Storage Table Service, NoSQL databases
  • 但单元测试
  • 角色: 有Role Provider,非常容易创建和保管角色
  • Claims权限信息: 相比简单的Role权限控制,Claims提供了进一步助长的始末
  • 社交化登录: 比如Facebook等
  • 支持Windows Azure Active Directory
  • 支持OWIN
  • Nuget发布与设置

Identity的法则与基本计划思想

如圆的了解Identity,需要先了解OWINOWIN得参照文章 下一代Asp.net开发规范OWIN(1)

冲OWIN的筹划,使得Identity把membership抽象成了片块好的有些。一片是membership所依赖之数码的囤,一块是Identity的authentication部分。

下同样篇,将通过一个其实的例子,来分析Identity的切实应用和幕后的规划。

 

网站地图xml地图