Asp.Net Identity 设计目标微软在 asp.net 2.0 引入了 membership,为 asp.net 应用程序提供身份验证和授权功能。membership 假定用户在网站注册,然后凭用户名和密码登录网站。现在这个假定已经不成立了,web 上社交网络兴起,人们 ...
Asp.Net Identity 设计目标
微软在 get='_blank'>asp.net 2.0 引入了 membership,为 asp.net 应用程序提供身份验证和授权功能。membership 假定用户在网站注册,然后凭用户名和密码登录网站。现在这个假定已经不成立了,web 上社交网络兴起,人们更倾向于使用社交网络登录网站。程序员的开发方式也产生了重大变化,单元测试现已成为开发中的主要关注点。membership 系统对社交网络登录和单元测试都不支持,已经不能适应现阶段的需求了。为此微软开发了 Asp.Net Identity,其目标是:
统一的标识系统
- 可在 asp.net 下所有开发框架下使用,包括 ASP.NET MVC, Web Forms, Web Pages, Web API, and SignalR。
- 可用于构建 web, phone,store 或混合应用程序
易于扩展用户资料(User Profile)
程序员可以控制用户信息的架构。
持久化控制
默认情况下数据保存在关系数据库,使用实体框架 Code First 实现持久化机制。由于数据库架构由程序员控制,可以更改表名和主键数据类型。也可以更改数据存储方式,例如使用 SharePoint 或者 NoSQL 数据库。
这里是使用 NHibernate 代替实体框架实现持久化的项目,https://github.com/nhibernate/NHibernate.AspNet.Identity。
可进行单元测试
可以为用到 Asp.Net Identity 的代码编写单元测试。
角色提供程序
允许基于角色进行授权
基于声明的验证
用户的身份由一组声明(Claims)表示。声明对用户标识的表现力好过角色。用户和角色的关系只有“属于”和“不属于”,声明可以对用户进行更细致的描述。
社交账户登录提供程序
允许使用 facebook,twitter 等社交账号登录,同时在自己的应用程序中存储用户特定的数据。
Azure Active Directory
允许使用 Azure Active Directory 登录,同时在自己的应用程序中存储用户特定的数据。
OWIN 集成
ASP.NET 身份验证基于 OWIN 中间件。ASP.NET Identity 对 System.Web 没有依赖,是一个完全的 OWIN 框架。ASP.NET Identity 使用 OWIN 身份验证,通过 OWIN CookieAuthentication 而不是 FormsAuthentication 生成 cookie。
NuGet 程序包
通过 NuGet 程序包,ASP.NET 开发小组可以在新功能和 bug 修复上快速迭代,并及时向开发者发布。
相关程序包
Microsoft.AspNet.Identity.Core 包含 ASP.NET Identity 的核心接口
原标题:asp.net identity 介绍
关键词:ASP.NET
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。