写点什么

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

  • 2014-04-25
  • 本文字数:1293 字

    阅读完需:约 4 分钟

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

2014-04-25 04:193571
用户头像

发布了 321 篇内容, 共 118.8 次阅读, 收获喜欢 19 次。

关注

评论

发布
暂无评论
发现更多内容

应用开发中的存储架构进化史——从起步到起飞

Java 编程 架构 面试 后端

一文带你掌握工作流引擎flowable所有业务概念

小鲍侃java

后端 引航计划

ThingMap一键城市2.0重新出发:快速生成三维城市

ThingJS数字孪生引擎

地图 物联网 可视化 数字孪生

使用 Chrome 调试 Vue3 的 TypeScript 源码

编程三昧

源码 Vue Vue 3 9月日更

2022前端react高频面试题汇总

buchila11

React

等保测评一次多少钱,收费标准是怎样的?

行云管家

网络安全 等保 等保测评 等保2.0

音视频编解码 --X264码率控制初探

Fenngton

音视频 ffmpeg 编码 码率控制 引航计划

Log4j2同步打印日志导致线程阻塞问题剖析

快看工程技术中心

Java 线程 log4j java反射 异常处理

音视频同步!RTCP 协议解析及代码实现

声网

音视频 协议 Wireshark 流媒体

剖析反序列化原理基本操作

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞分析

阿里耗时三月整理的亿级流量百万并发手册,在上传在GitHub上意外获星90K+

Java 架构 面试 程序人生 编程语言

阿里内部最新“SpringCloudAlibaba学习笔记”(全彩第三版)限时开源

Java 架构 面试 微服务 Alibaba

以技术驱动云上创新增长,阿里云计算峰会上海完美收官

互联网 存储 云服务 科技 计算

智能汽车的定义是什么?

SOA开发者

第5章-《Linux一学就会》- Linux基本操作和服务器硬件选购指南

学神来啦

Linux linux运维 linux学习 Linux教程

如何撬动企业数字化转型?智能客服是关键支点

ToB行业头条

2021金九银十,啃完这35个Java技术栈,冲刺百万年薪不是梦

Java 架构 面试 程序人生 编程语言

阿里P8连肝三月,终于整理出的完美Java面试宝典,上传到Git上目前star数达到30K+

Java 架构 面试 程序人生 编程语言

车载高速CAN(HighSpeed CAN)通信基本原理讲解

SOA开发者

阿里大佬熬了三月,总结出了这套分布式架构手册,在Github上疯传!

Java 架构 面试 程序人生 编程语言

课程升级 | 极速构建知识体系,即学即用 Serverless

阿里巴巴云原生

阿里云 Serverless 云原生 活动 课程

如何加速云原生数据应用?这个开源项目备受关注

阿里巴巴云原生

阿里云 开源 云原生 Fluid

垂直CRM,能否走到终局?

ToB行业头条

我国智能汽车产业环境与政策导向

SOA开发者

浅谈加密基础设施

I

基础设施 信息安全 加密 密码学 加密基础设施

Prometheus 2.29.0 新特性

耳东@Erdong

release Prometheus 9月日更

国庆临近,字节后端开发3+4面,终于拿到秋招第一个offer

Java 架构 面试 后端 计算机

vivo全球商城-营销价格监控方案的探索

vivo互联网技术

后端 服务器 监控系统 营销数字化 亿级架构设计

@InjectMocks 使用

且听且吟

如何管理职场新人?

石云升

团队管理 管理 引航计划 内容合集 9月日更

金九银十面试如何得到面试官青睐?2021最新大厂Java面试真题合集(附权威答案)

Java 架构 面试 程序人生 编程语言

ASP.NET Identity 2新增双重认证、帐号锁定、防伪印章功能并修复了一些bug_语言 & 开发_Anand Narayanaswamy_InfoQ精选文章