写点什么

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:193679
用户头像

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

关注

评论

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

leetcode 227. Basic Calculator II 基本计算器 II(中等)

okokabcd

LeetCode 算法与数据结构

为什么MatrixOne 0.5变慢了

MatrixOrigin

矩阵起源 MatirxOrigin MatirxOne 因子化

字节跳动基于 ClickHouse 优化实践之“查询优化器”

字节跳动数据平台

OLAP Clickhouse 查询优化 数据库开发 数据引擎

NFT平台开发:NFT数字馆藏平台开发

开源直播系统源码

数字藏品软件开发 数字藏品开发 数字藏品系统

节能环保LED显示屏为什么是未来发展趋势?

Dylan

LED显示屏 led显示屏厂家

兆骑科创创新创业服务平台,海内外高层次人才引进,赛事承办

兆骑科创凤阁

bboss数据同步ETL工具介绍

大河

elasticsearch ETL bboss

如何应对ITSM难题,打造现代化、高效的ITSM解决方案?

龙智—DevSecOps解决方案

ITSM ITSM软件 ITSM解决方案

Tapdata 获得阿里云首批产品生态集成认证,携手阿里云共建新合作

阿里巴巴云原生

阿里云 Serverless 云原生 SAE 合作

你还有什么问题吗?

AlwaysBeta

程序员 面试

AntDB最新成果亮相全球分布式云大会,推动企业数字化变革深入

亚信AntDB数据库

AntDB

【小程序项目开发 --- 京东商城】 启航篇之uni-app项目搭建

计算机魔术师

8月月更

2022 世界人工智能大会|人工智能与开源技术先锋论坛即将开幕

Kyligence

开源技术 人工智能大会

技术分享 | 这些常用测试平台,你们公司在用的是哪些呢?

霍格沃兹测试开发学社

校区多,客情管理难?看中进教育使用明道云的新解法

明道云

Kyligence 亮相 Gartner 2022 数据与分析峰会,解锁数据智能新潜力

Kyligence

数据管理 指标中台

技术分享 | 测试人员必须掌握的测试用例

霍格沃兹测试开发学社

【小程序项目开发-- 京东商城】uni-app开发之配置 tabBar & 窗口样式

计算机魔术师

8月月更

Elasticsearch添加修改删除索引文档

大河

elasticsearch bboss

移动端App自动化之触屏操作自动化

霍格沃兹测试开发学社

BulkProcessor异步批处理组件使用

大河

elasticsearch bboss bulkprocess

【小程序】view视图,swiper轮播图,scroll-view滑动列表 (在线详细手册)

计算机魔术师

8月月更

项目经理和ScrumMaster可以是同一个人吗?

ShineScrum

Scrum 敏捷 ScrumMaster 项目经理

蓝牙5.0简介、nRF52832 BLE样例工程框架及main函数初始化流程简析

矜辰所致

蓝牙 启动流程 8月月更 nRF52832

入门机器学习?还是先抢救一下数学吧!

博文视点Broadview

厚积薄发--一文带您了解阿里云 RocketMQ 轻量版消息队列(MNS)

阿里巴巴云原生

阿里云 RocketMQ 云原生 消息队列

GOPS现场 | 对话龙智董事长何明,探讨DevOps安全新概念

龙智—DevSecOps解决方案

运维 GOPS大会 GOPS全球运维大会

兆骑科创人才引进服务平台,线上直播路演,投融资对接

兆骑科创凤阁

这份SVN命令备忘清单,请查收

龙智—DevSecOps解决方案

svn 版本控制系统

网络组件axios可以在OpenHarmony上使用了

OpenHarmony开发者

Open Harmony

最常见的两个Jenkins问题,以及解决方法

龙智—DevSecOps解决方案

ci CI/CD CI/CD管道

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