初识Asp.net Identity

时间:2023-06-14 08:36:20

  第一篇,多多指教啦!

  之前做asp.net的网站只知道Asp.net的身份验证方式有:Windows验证和Forms验证。今天初步了解了下asp.net的Identity技术,顺带了解了它之前的Membership技术。

  一、Windows验证:一般用于局域网应用。

  二、Froms验证:Windows验证的局限性非常明显,一旦用户有超出本地域控制器范围的外网用户访问网站,就会出现问题。ASP.NET表单验证(Forms Authentication)很好的弥补了这一缺陷。

  三、Membership:

  使用表单认证能解决基本的身份验证问题。但是,大部分应用程序还包含角色和用户管理以及权限信息的存储问题。因此,我们不得不做下面这些事情:

  • 创建用户和角色表。
  • 编写访问数据表的代码。
  • 提供用户和密码验证的方法。

  几乎每一个应用程序,我们都重复着做上面类似的事情。当微软发现这一问题后,在ASP.NET 2.0引入了Membership的重磅级技术方案。很好的解决了WEB应用程序在成员资格方面的常见需求,这些需求包括表单身份验证,存储用户名、密码和用户资料信息 (profile)等。

  ASP.NET Membership自身设计的缺陷:

  • 数据库架构受限于SQL Server。

  • 生硬的表存储结构。

  • 系统仅依据关系数据库设计。

  • 不能使用OWIN。

  四、Identity:鉴于ASP.NET Membership的弊端,微软又开发一套新的安全框架ASP.NET Identity。

  ASP.NET Identity具有以下优势:

  • 统一的框架。

  • 自定义用户信息。

  • 灵活的角色管理。

  • 数据持久性以及兼容性。

  • 单元测试能力。
  • OWIN集成。
  • Nuget包。

  相关技术:

  OWIN 是一种定义 Web 服务器和应用程序组件之间的交互的规范 。这一规范的目的是发展一个广阔且充满活力的、基于 Microsoft .NET Framework 的 Web 服务器和应用程序组件生态系统。

  Katana 是开源的的OWIN框架,主要用于微软.NET应用程序。Katana 2.0 将随 Visual Studio 2013 一起发布。 新版本有两个值得关注的方面:

  • 为自托管提供核心基础结构组件。
  • 提供了一套丰富的验证中间件(包括 Facebook、Google、Twitter 和 Microsoft Account 这样的社交提供商)以及适用于 Windows Azure Active Directory、cookie 和联合身份验证的提供程序。

  更多信息参考 http://owin.org/

注:本文摘自 http://www.cnblogs.com/liuhaorain/p/3776467.html#t_1,解说不是很详细,若查看详细请参照。