ASP.NET Identity 2新增雙重認證、賬號鎖定、防僞印章功能並修復了一些bug

Microsoft最近發佈了ASP.NET Identity 2,該版本支持雙重認證、賬號鎖定以及防僞印章功能,還加強了用戶賬號和索引。此外新版本還包含一個改進的密碼驗證器並修復了一些bug。web

藉助於雙重認證,開發者可以使用定製的提供程序保護用戶賬號,而不是使用傳統的SMS和基於email的驗證。例如,開發者可以編寫本身的自定義提供程序,例如QR代碼生成器,並使用手機上的身份驗證應用程序驗證它們。app

新版本的ASP.NET Identity 2.0可以保護用戶遠離暴力破解的困擾,若是用戶輸入了錯誤的密碼或者雙重代碼,那麼相關的用戶賬號會被鎖定一段時間。做爲一個開發人員,你能夠配置無效嘗試的次數和時間間隔,另外你也能夠經過一個選項爲某些用戶賬號關閉該功能。ide

新引入的防僞印章功能讓你可以在密碼或者相關的社會登陸賬號發生改變的時候從應用程序中註銷。你能夠按照官方MSDN博客上的介紹經過註冊一個CookieAuthenticationProvider在Startup.Auth.cs中進行配置。函數

最新版本提供了一個擴展鉤子,藉助於該鉤子你能指定用戶表和角色表的主鍵,對於那些將UserId存儲爲GUID或者Int的應用程序而言這是很是有用的。工具

在新版本發佈以前,咱們沒法經過UserManager刪除用戶,這一問題已經被解決,你可以使用DeleteAsyn()函數刪除用戶。spa

var result = await UserManager.DeleteAsync(user);

你可使用Factory實現從OWIN上下文中獲取到一個UserManager的實例。這一模式與咱們從OWIN上下文中獲取AuthenticationManager 從而進行登陸和登出的模式相似。爲了使用這一功能,咱們須要在StartupAuth.cs類中添加下面的代碼:orm

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。blog

與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

相關文章
相關標籤/搜索