.Net Script 简介
.Net Core 工具 dotnet-script
简介
.Net Core 工具 dotnet-script
简介
.Net Core QA
ASP.Net 会员系统在2005年发布ASP.Net 2.0的时候同时发布(介绍), 而且从那以后Web应用在处理认证和授权方面已经发生了很多改变.对于会员系统应该是什么样子的, ASP.Net Identity是一个新的尝试, 当你为Web, Phone, Tablet(平板)创建现代应用的时候. 这篇文章是由Pranav Rastogi, Jon Galloway, Tom Dykstra, and Rick Anderson所写.
在2005年, 为了解决大部分网站对会员功能的需求, ASP.Net Membership被设计出来, 它需要表单认证和包含用户名,密码和个人信息的SQL Server数据库. 现在对于Web应用, 有更加广泛(broader)的可供选择数据存储方式, 而且大部分开发者想使他们的站点使用社交登录来提供认证和授权功能. 下面介绍的ASP.Net Membership的设计限制使上述的需求实现变得很困难:
ASP.net simple membership 被开发成ASP.Net Web Pages的会员系统. 它随同WebMatrix和Visual Studio 2010 SP1一起发布. Simple Membership的目标是使Web Pages应用添加会员功能更加容易. Simple Membership 使自定义用户配置信息更加容易, 但是在和ASP.Net Membership共享(Alan: 应该是共存的意思)有一些其他问题, 而且有一些限制:
为了能够在Microsoft Azure SQL Database中持久化会员信息, ASP.Net Universal Provider(通用提供器)被开发出来, 而且它也可以和SQL Server Compact一起工作. Universal Providers 依赖于EF Code First, 这意味着Universal Providers可以在任何支持EF的存储方式上持久化数据(Alan: 也就是使用). 使用Universal Provider, 数据库架构也变的非常简洁. Universal Providers是基于ASP.Net Membership基础设施, 因此, 作为SQLMembership Provider, Universal Provider也带来了同样的限制. 那就是他们都被设计成针对关系型数据库, 而且很难自定义配置和用户信息. 这些提供器也一直使用表单认证的登入/登出功能.
ASP.Net的会员系统经过这么多年的进化, ASP.Net团队从客户那里获得了并吸收了很多反馈. 如果用户使用它们注册时填写的用户名和密码来登陆的假设不再有效(Alan: 大概意思应该是用户都不再通过注册然后登陆的形式来访问网站). Web就变得更加社交(社会化). 用户通过社交频道(比如FB, Twitter, 或者其他社交网站)实时与他人交流. 开发者系统用户能够使用它们的社交账号来登陆, 这样用户在他们(开发者)的网站上能够获得更加丰富的体验. 一个现代的应用必须拥有基于跳转-登陆的认证提供器(比如FB, Twitter或者其他)(Alan: 就是第三方登陆). 因为Web开发的演进, Web开发出现了一些设计模式/网站架构.(Alan: 大概是这个意思) 应用代码的单元测试变成了应用开发者的核心部分. 在2008年, ASP.Net添加了基于MVC模式的新框架, 作为帮助开发者开发可进行单元测试的ASP.Net应用的部分. 希望能够对应用程序的逻辑进行单元测试的开发者同样也希望能够对会员系统进行单元测试. 考虑到Web应用开发中的这些改变, Asp.Net Identity为了实现一下目标被开发出来:
一统江湖的ASP.Net Identity系统
用户个人信息数据易于扩展(Ease of plugging in profile data about the user)
持久化控制(Alan: 其实就是数据存储方案的选择, 比如关系型数据库, 非关系型数据库, 甚至XML)
可单元测试
角色提供器
基于Claims (Alan: claims是ASP.Net很底层的一个东西了, HttpContext.Current中的User返回的就是实现了IPrincipal的一个对象. Note)
社交登录提供器
集成OWIN
NugGet包管理
ASP.Net Identity被用在VS 2013 的MVC, Web Forms, Web API和SPA模板里. 在这个演练里, 我们将说明项目模板如果使用ASP.Net Identity的注册, 登陆和登出功能的. ASP.Net Identity被实现使用下面步骤. 这篇文章的目的是让你对ASP.Net Identity有一个概览; 你可以跟着一步一步的操作或者仅仅阅读详细信息. 像获得使用ASP.Net Identity创建应用的更详细的介绍, 包括使用新的API来添加用户, 角色和配置信息, 可以查看文章底部的下一步节.
使用独立账号(Individual User Accounts)创建ASP.Net MVC应用.你可以使用ASP.Net Identity在ASP.Net MVC, Web Forms, Web API, SignalR等等项目中. 在这篇文章中我们开始创建一个ASP.Net MVC应用. 图片
创建的项目包含以下三个ASP.Net Identity相关的包
创建用户