ASP.NET Identity 2新增双重认证、帐号锁定、防伪印章功能并修复了一些bug
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的更多相关文章
- ASP.NET Identity登录原理 - Claims-based认证和OWIN
MVC5 - ASP.NET Identity登录原理 - Claims-based认证和OWIN 在Membership系列的最后一篇引入了ASP.NET Identity,看到大家对它还是挺感兴趣 ...
- MVC5 - ASP.NET Identity登录原理 - Claims-based认证和OWIN
在Membership系列的最后一篇引入了ASP.NET Identity,看到大家对它还是挺感兴趣的,于是来一篇详解登录原理的文章.本文会涉及到Claims-based(基于声明)的认证,我们会详细 ...
- [转]MVC5 - ASP.NET Identity登录原理 - Claims-based认证和OWIN
本文转自:http://www.cnblogs.com/jesse2013/p/aspnet-identity-claims-based-authentication-and-owin.html 在M ...
- MVC5 - ASP.NET Identity登录原理 - Claims-based认证和OWIN -摘自网络
在Membership系列的最后一篇引入了ASP.NET Identity,看到大家对它还是挺感兴趣的,于是来一篇详解登录原理的文章.本文会涉及到Claims-based(基于声明)的认证,我们会详细 ...
- (转)ASP.NET Identity登录原理 - Claims-based认证和OWIN
在Membership系列的最后一篇引入了ASP.NET Identity,看到大家对它还是挺感兴趣的,于是来一篇详解登录原理的文章.本文会涉及到Claims-based(基于声明)的认证,我们会详 ...
- MVC6 (ASP.NET5) 认证 (Asp.net identity) cookie模式 自定义认证
1.Startup类的Configure方法中, app.UseIdentity(); 改为 app.UseCookieAuthentication(options => { options.A ...
- asp.net如何更改默认的登陆帐号/密码:16aspx/16aspx
修改数据库,在DB_16aspx文件夹下面 sql server 2005+的数据库打开.
- ASP.NET Identity V2
Microsoft.AspNet.Identity是微软在MVC 5.0中新引入的一种membership框架,和之前ASP.NET传统的membership以及WebPage所带来的SimpleMe ...
- ASP.NET Identity V2简单介绍
Microsoft.AspNet.Identity是微软在MVC 5.0中新引入的一种membership框架,和之前ASP.NET传统的membership以及WebPage所带来的SimpleMe ...
随机推荐
- 友盟推送 .NET (C#) 服务端 SDK rest api 调用库
友盟推送 .NET SDK rest api 介绍 该版本是基于友盟推送2.3版本封装的,网上查询了下发现没有.NET版本的调用库,官方也没有封装.NET的版本,只有python.java.php版本 ...
- Startcom SSL证书申请 IIS设置 配置 攻略
申请具体参考:http://www.cnblogs.com/yibinboy/p/6137426.html 制作要导入服务器IIS上的证书. 点击控制面板的左上角的TOOL BOX,然后点击Creat ...
- Puppet自动化部署-前期环境准备(2)
在安装Puppet环境之前需要配置好机器的基本配置,如规范网络地址IP.hostname,certname认证名称,ntp时间同步等配置完毕,完善的搭建自动化环境. 1.环境介绍 此处实现部署的环境是 ...
- memcache and redis 的区别
memcache和redis都属于缓存但是memcache的存储大小是收到 限制的memcache的 键值长度是250,内存的大小限制是1M并且memcache不支持数据的持久化缓存 redis支持五 ...
- LINUX 文件权限详解
ls -l // 查看文件的权限 等价于 ll 文件的权限信息查看 -rw-rw-r-- 1 ceshi ceshi 891 Aug 8 17:28 server drwxrwxr-x 10 cesh ...
- Jekyll 安装权限问题 ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/jekyll
OS X El Capitan 新特性(System Integrity Protection or SIP)中加强了权限,但是可以对这里进行操作 /usr/local/bin 可以尝试使用以下指令进 ...
- 16-1-27---图解HTTP(02)
图解HTTP第四章 返回结果的HTTP状态码 HTTP状态码负责表示客户端HTTP请求的返回结果.标记服务器端的处理是否正常.通知出现错误等工作.4.1状态码告知从服务器端返回的请求结果 ...
- elasticsearch-1.3.0 之索引代码粗略梳理
elasticsearch-1.3.0 发送请求 创建 [root@centos ~]# curl -XPUT 172.16.136.159:9200/customer?pretty { " ...
- javascript常识
substring和substr的区别 substring() 方法用于提取字符串中介于两个指定下标之间的字符. stringObject.substring(start,stop)例子: <s ...
- 使EditText不要在页面打开时自动获取焦点(因为软键盘会自动弹出)
当页面上有EditText时,第一个EditText会在页面打开时自动的获取焦点,这样带来的问题就是系统键盘会自动的弹出来. 解决方法比较简单只要为EditText的父控件设置一下就行了: andro ...