Microsoft最近发布了ASP.NET Identity 2,该版本支持双重认证、帐号锁定以及防伪印章功能,还增强了用户帐号和索引。此外新版本还包含一个改进的密码验证器并修复了一些bug。

借助于双重认证,开发者能够使用定制的提供程序保护用户帐号,而不是使用传统的SMS和基于email的验证。例如,开发者能够编写自己的自定义提供程序,例如QR代码生成器,并使用手机上的身份验证应用程序验证它们。

新版本的ASP.NET Identity 2.0能够保护用户远离暴力破解的困扰,如果用户输入了错误的密码或者双重代码,那么相关的用户帐号会被锁定一段时间。作为一个开发人员,你可以配置无效尝试的次数和时间间隔,另外你也可以通过一个选项为某些用户帐号关闭该功能。

新引入的防伪印章功能让你能够在密码或者相关的社会登录帐号发生改变的时候从应用程序中注销。你可以按照官方MSDN博客上的介绍通过注册一个CookieAuthenticationProvider在Startup.Auth.cs中进行配置。

最新版本提供了一个扩展钩子,借助于该钩子你能指定用户表和角色表的主键,对于那些将UserId存储为GUID或者Int的应用程序而言这是非常有用的。

在新版本发布之前,我们无法通过UserManager删除用户,这一问题已经被解决,你能够使用DeleteAsyn()函数删除用户。

var result = await UserManager.DeleteAsync(user);

你可以使用Factory实现从OWIN上下文中获取到一个UserManager的实例。这一模式与我们从OWIN上下文中获取AuthenticationManager 从而进行登录和登出的模式类似。为了使用这一功能,我们需要在StartupAuth.cs类中添加下面的代码:

app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();

DbContextFactory中间件每一个请求都会返回一个ApplicationDbContext实例,你可以在应用程序中使用它,同时可以在StartupAuth.cs中使用下面的代码进行配置:

app.CreatePerOwinContext(ApplicationDbContext.Create); 

Microsoft使用新的IndexAttribute为Username添加了唯一的索引;此外还增强了密码验证器,1.0提供了一个仅能验证最小长度的基础验证器,而在新版本中我们能够通过配置对密码的复杂性进行更多的控制。该版本还提供了NuGet 包以及示例ASP.NET MVC应用程序,并根据社区的反馈修复了一些bug。

与ASP.NET Identity 2 RTM一起发布的还有Entity Framework 6.1,后者的特性包括工具整合、IndexAttribute和公共映射API,此外它还支持.ToString、String.Concat、enum HasFlags,能够通过App/Web.config文件配置拦截器。

来自于Microsoft的软件工程师Pranav Rastogi 在他的博客中概括了应用程序从ASP.NET Identity 1.0迁移到2.0、从2.0 beta 1迁移到2所需要的步骤。除了上面提到的特性之外,该版本还包含一些其他的特性,例如帐号确认、密码重置、UsersStore和RolesStore上的IQueryable,这些功能最初都是在2013年12月份发布的预览版中添加的。

查看英文原文ASP.NET Identity 2 Adds Two-factor Authentication, Account Lockout, Security Stamp and Bug Fixes

查看中文原文:ASP.NET Identity 2新增双重认证、帐号锁定、防伪印章功能并修复了一些bug

ASP.NET Identity 2新增双重认证、帐号锁定、防伪印章功能并修复了一些bug的更多相关文章

  1. ASP.NET Identity登录原理 - Claims-based认证和OWIN

    MVC5 - ASP.NET Identity登录原理 - Claims-based认证和OWIN 在Membership系列的最后一篇引入了ASP.NET Identity,看到大家对它还是挺感兴趣 ...

  2. MVC5 - ASP.NET Identity登录原理 - Claims-based认证和OWIN

    在Membership系列的最后一篇引入了ASP.NET Identity,看到大家对它还是挺感兴趣的,于是来一篇详解登录原理的文章.本文会涉及到Claims-based(基于声明)的认证,我们会详细 ...

  3. [转]MVC5 - ASP.NET Identity登录原理 - Claims-based认证和OWIN

    本文转自:http://www.cnblogs.com/jesse2013/p/aspnet-identity-claims-based-authentication-and-owin.html 在M ...

  4. MVC5 - ASP.NET Identity登录原理 - Claims-based认证和OWIN -摘自网络

    在Membership系列的最后一篇引入了ASP.NET Identity,看到大家对它还是挺感兴趣的,于是来一篇详解登录原理的文章.本文会涉及到Claims-based(基于声明)的认证,我们会详细 ...

  5. (转)ASP.NET Identity登录原理 - Claims-based认证和OWIN

    在Membership系列的最后一篇引入了ASP.NET  Identity,看到大家对它还是挺感兴趣的,于是来一篇详解登录原理的文章.本文会涉及到Claims-based(基于声明)的认证,我们会详 ...

  6. MVC6 (ASP.NET5) 认证 (Asp.net identity) cookie模式 自定义认证

    1.Startup类的Configure方法中, app.UseIdentity(); 改为 app.UseCookieAuthentication(options => { options.A ...

  7. asp.net如何更改默认的登陆帐号/密码:16aspx/16aspx

    修改数据库,在DB_16aspx文件夹下面 sql server 2005+的数据库打开.

  8. ASP.NET Identity V2

    Microsoft.AspNet.Identity是微软在MVC 5.0中新引入的一种membership框架,和之前ASP.NET传统的membership以及WebPage所带来的SimpleMe ...

  9. ASP.NET Identity V2简单介绍

    Microsoft.AspNet.Identity是微软在MVC 5.0中新引入的一种membership框架,和之前ASP.NET传统的membership以及WebPage所带来的SimpleMe ...

随机推荐

  1. Linux C编程学习6---字符串处理、数据转换

    1.字符串 应用程序按其功能可分为数值计算.非数值计算以及输入输出操作等.非数值计算程序占相当大的比例,其核心就是字符串处理1.1.字符测试 1.1.1.测试字符是否为英文字母 int isalpha ...

  2. 模拟提交API数据Pyqt版

    其实这个模拟提交数据之前已经写过篇: Python requests模拟登录 因为现在在做的项目中需要一个debug请求调试API,用PHP的CURL写了一个,又因Pyqt更能直观灵活的显示请求的参数 ...

  3. PHPExcel 大数据的导出

    PHPExcel 是一个php语言读取导出数据.导入生成Excel的类库,使用起来非常方便,但有时会遇到以些问题,比如导出的数据超时,内存溢出等. 下面我们来说说这些问题和解决办法. PHPExcel ...

  4. 【DWR系列01】-DWR简介及入门例子

    .literal { background-color: #f2f2f2; border: 1px solid #cccccc; padding: 1px 3px 0; white-space: no ...

  5. [算法总结]three-way partition

    procedure three-way-partition(A : array of values, mid : value): i ← 0 j ← 0 n ← size of A - 1 while ...

  6. [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析

    [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析 标签: webkit内核JavaScriptCore 2015-03-26 23:26 2285 ...

  7. my links

    如何解決MySQL 開動不到的問題 MySQL start fail 10 BEST JQUERY FILE UPLOAD PLUGINS WITH IMAGE PREVIEWS Spring MVC ...

  8. HDU4417 Super Mario(主席树)

    题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=4417 Description Mario is world-famous plumber. ...

  9. CentOS6.5的vsftp搭建流程(一)

    前几次搭建FTP都失败了,不是登陆不了,就是目录没有权限.现在终于摸索出了靠谱的操作流程,分享之~ 1. 查看是否安装了vsftpd,未安装则安装 [root@iZ283tian2dZ /]# rpm ...

  10. tomcat发布脚本

    #!/bin/bash #发布相关目录Tomcat_log='/home/CodePub/tomcatlog'dev_package='/home/CodePub/package'old_packag ...