[ASP.NET MVC] ASP.NET Identity学习笔记 - 原始码下载、ID型别差异
[ASP.NET MVC] ASP.NET Identity学习笔记 - 原始码下载、ID型别差异
原始码下载
ASP.NET Identity是微软所贡献的开源项目,用来提供ASP.NET的验证、授权等等机制。原始码的位置如下:
ASP.NET Identity 2.x
https://aspnetidentity.codeplex.com/SourceControl/latest#Readme.markdown

ASP.NET Identity 3.x

ID型别差异
ASP.NET Identity 2.x 跟 3.x的一个设计变化就是:IUser、IRole在3.x被移除了。这两个封装使用者、脚色的Entity,在2.x 跟 3.x两个版本之间主要差异是在于面对ID型别的设计概念:
在2.0的时候,把ID型别都使用泛型的TKey来做设计,这样可以松绑「ID型别」被绑死为特定型别的问题,但是却增加了系统的复杂度。
// ASP.NET Identity 2.x
public class RoleManager<TRole, TKey> : IDisposable
where TRole : class, IRole<TKey>
where TKey : IEquatable<TKey>
{
public virtual async Task<TRole> FindByIdAsync(TKey roleId){}
}
在3.0的时候,把ID型别使用String来做设计,这样可以减少系统设计的复杂度,但是变成限定ID型别为String。
// ASP.NET Identity 3.x
public class RoleManager<TRole> : IDisposable where TRole : class
{
public virtual async Task<TRole> FindByIdAsync(string roleId){}
}
笔者现在设计Framework也都采用3.x的写法,毕竟使用String作为ID型别,已经可以符合大部分的使用情景。然后遇到数据库使用int、guid作为ID字段的型别时,在Access层做对应的Mapping,也可以正常的让String型别的ID数据进出数据库。(写数据库string转int、读数据库int转String)
[ASP.NET MVC] ASP.NET Identity学习笔记 - 原始码下载、ID型别差异的更多相关文章
- asp.net mvc 4 高级编程学习笔记:第三章 视图(2)
页面布局 asp.net MVC中提供了布局的支持,默认情况下才布局文件保存到 /View/Shared/目录下的_Layout.cshtml,View目录有个_ViewStart.cshtml文件, ...
- 【Pro ASP.NET MVC 3 Framework】.学习笔记.12.ASP.NET MVC3的细节:URLs,Routing和Areas
Adam Applied ASP.NET 4 in Context 1 介绍Routing系统 在引入MVC之前,ASP.NET假定被请求的URLs和服务器硬盘上的文件之间有着直接关系.服务器的任务是 ...
- 【Pro ASP.NET MVC 3 Framework】.学习笔记.11.ASP.NET MVC3的细节:概览MVC项目
书Adam The Definitive Guide to HTML5 Adam Applied ASP.NET 4 in Context and Pro ASP.NET 4 到此为止,我们已经学了为 ...
- 【Pro ASP.NET MVC 3 Framework】.学习笔记.9.SportsStore:Securing the Administration Features
1 设置表单身份认证 因为ASP.NET MVC基于ASP.NET平台的核心,所以我们可以使用ASP.NET Form的身份认证,这是保持用户登录轨迹通用的方法.现在介绍最基本的配置. 在Web.co ...
- 【Pro ASP.NET MVC 3 Framework】.学习笔记.7.SportsStore:购物车
3 创建购物车 每个商品旁边都要显示Add to cart按钮.点击按钮后,会显示客户已经选中的商品的摘要,包括总金额.在购物车里,用户可以点击继续购物按钮返回product目录.也可以点击Check ...
- 【Pro ASP.NET MVC 3 Framework】.学习笔记.5.SportsStore一个真实的程序
我们要建造的程序不是一个浅显的例子.我们要创建一个坚固的,现实的程序,坚持使它成为最佳实践.与Web Form中拖控件不同.一开始投入MVC程序付出利息,它给我们可维护的,可扩展的,有单元测试卓越支持 ...
- 【Pro ASP.NET MVC 3 Framework】.学习笔记.8.SportsStore:管理
管理功能,如何身份认证,对controller和action方法过滤安全的访问,并在用户需要时提供证书. 1 添加分类管理 方便管理的controller,有两类页面,List页面和edit页面. 1 ...
- 【Pro ASP.NET MVC 3 Framework】.学习笔记.6.SportsStore:导航
在之前的章节,偶们设置了核心的基础设施,现在我们将使用基础设计添加关键特性,你将会看到投资是如何回报的.我们能够很简单很容易地添加重要的面向客户的特性.沿途,你也会看到一些MVC框架提供的附加的特性. ...
- 【Pro ASP.NET MVC 3 Framework】.学习笔记.2.MVC的主要工具-Ninject
这三个工具,应该是每个MVC程序员的兵工厂中的一部分.DI容器,单元测试框架,mocking 工具.Ninject是我们偏爱的DI容器,它简单,高雅,并且容易使用.这里有很多复杂的替代品,但是我们喜欢 ...
随机推荐
- 多线程调用WebClient速度变慢的问题
设置 System.Net.ServicePoint 对象所允许的最大并发连接数 System.Net.ServicePoint 对象允许的最大并发连接数.默认值为 2 System.Net.Serv ...
- POJ 2096 Collecting Bugs
Collecting Bugs Time Limit: 10000MS Memory Limit: 64000K Total Submissions: 1716 Accepted: 783 C ...
- WebApp MVC 框架的开发细节归纳
在前文<WebApp MVC,“不一样”的轻量级互联网应用程序开发框架>介绍了WebApp MVC的技术实现以及如何使用,而在本章进一步归纳了使用框架开发的一些细节,也给我们在开发具体功能 ...
- 一个基于POP3协议进行邮箱账号验证的类
最近老陈要针对企业邮箱做一些开发,以对接企业OA神马的,但企业邮箱唯独没有开放账号密码验证功能,很恼火!不得已,翻出早些年的Asp代码改编成了C#类,实现了一个C#下的通过POP3协议进行邮箱账号验证 ...
- netty ByteBuf分析
1.Heap Buffer(堆缓冲区) 2.Direct Buffer(直接缓冲区) 3.Composite Buffer(复合缓冲区) 4.PooledByteBuf 池缓冲 readerInex ...
- 【PRML读书笔记-Chapter1-Introduction】1.3 Model Selection
在训练集上有个好的效果不见得在测试集中效果就好,因为可能存在过拟合(over-fitting)的问题. 如果训练集的数据质量很好,那我们只需对这些有效数据训练处一堆模型,或者对一个模型给定系列的参数值 ...
- xdebug调试一直等待连接
调试php时一般会启动浏览器,地址栏里一般是 index.php?XDEBUG_SESSION_START=xxx xxx表示调试的ide_key. 开了代理没有关,结果调试时一直无法连上,折腾了好久 ...
- 分享27款最佳的复古风格 WordPress 主题
WordPress 作为最流行的博客系统,插件众多,易于扩充功能.安装和使用都非常方便,而且有许多第三方开发的免费模板,安装方式简单易用. 复古风格可以应用于任何东西,从服装到室内设计,那么复古风格的 ...
- Android学习笔记(第二篇)View中的五大布局
PS:人不要低估自己的实力,但是也不能高估自己的能力.凡事谦为本... 学习内容: 1.用户界面View中的五大布局... i.首先介绍一下view的概念 view是什么呢?我们已经知道一个Act ...
- 更加优雅地配置Spring Securiy(使用Java配置和注解)
Spring Security 借助一系列Servlet Filter 来提供安全性功能,但是借助Spring的小技巧,我们只需要配置一个Filer就可以了,DelegatingFilterProxy ...