写点什么

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

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

关注

评论

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

基于CC2530设计的自动晾衣杆

DS小龙哥

2月月更

绿色数据中心“东数西算”全面启动!八大枢纽十大集群 - 涉及高性能计算,数据集群,水冷散热

GPU算力

亚信科技AntDB数据库参与“国内首款”事务型性能测试工具开源发布会,树立金融技术风向标

亚信AntDB数据库

AntDB 性能基准测试 中国信通院

Khronos 会议干货 | WebGPU 1.0 即将发布

Orillusion

开源 WebGL 元宇宙 Metaverse webgpu

IntelliJ IDEA Ultimate 配置 PHP 拦截器

HoneyMoose

尚硅谷MyBatis新版视频教程发布

@零度

Java mybatis

linux服务器是什么?如何快捷安全管理?

行云管家

运维 服务器

uni-app技术分享| uni-app常见问题(一)

anyRTC开发者

uni-app 音视频 WebRTC 移动开发 实时通讯

大数据开发join的运行原理_大数据培训

@零度

hive 大数据开发

IntelliJ IDEA Ultimate 配置 PHP 拦截器中 Xdebug 扩展应该怎么填

HoneyMoose

IntelliJ IDEA 在校验 PHP Debug 配置的时候提示 URL 无法访问

HoneyMoose

前后端分离项目,如何解决跨域问题?

沉默王二

Java 前端 后端 跨域

开发运维效率提升 80%,计算成本下降 50%,分众传媒的 Serverless 实践

阿里巴巴云原生

阿里云 Serverless 云原生 合作案例

外包学生管理系统架构设计文档

五月雨

架构实战营 「架构实战营」

java面试jvm调优的意义_java培训

@零度

JVM JAVA开发

重新理解“无容灾不上云”:应用多活将成为云原生容灾新趋势

阿里巴巴云原生

阿里云 开源 云原生

如果写作平台不叫写作平台,他应该叫……?

InfoQ写作社区官方

写作平台 创意 话题讨论 热门活动

RocketMQ-Streams 首个版本发布,轻量级计算的新选择

阿里巴巴云原生

web前端开发nodejs基本原理_前端培训

@零度

node.js 前端开发

如何在 Vue 中导出数据至 Excel 表格 - 卡拉云

蒋川

Vue Vue 3 vue admin

阿里巴巴的Java开发手册(黄山版)来了

Geek_rze78a

Java 阿里巴巴面经总结

灵雀云加入,龙蜥社区迎来国内领先的企业级PaaS服务商

OpenAnolis小助手

Linux 开源 云原生 PaaS

安全领域权限模型

alibeer

学生管理系统详细架构设计文档

晨亮

「架构实战营」

RadonDB MySQL on K8s 2.1.2 发布!

RadonDB

MySQL 数据库 高可用 RadonDB KubeSphere

你才二十几岁呀,怎么眼里没有光了呢?

架构精进之路

随笔 日常感悟 2月日更

一句话告诉您什么是运维?以及如何运维才能事半功倍?

行云管家

运维 IT运维 自动化运维

ShardingSphere 助力当当 WMS:订单效率提升 30%、节约成本上千万

SphereEx

数据库 开源 ShardingSphere wms SphereEx

IntelliJ IDEA 在校验 PHP Debug 配置的时候提示 Xdebug 扩展没有载入

HoneyMoose

架构学习【03】——外包学生管理系统的架构文档

tiger

架构实战营

数据平台与Flink任务运行原理介绍

云智慧AIOps社区

redis 云计算 大数据 kafka Flink 平台

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