顯示具有 LockoutEndDateUtc 標籤的文章。 顯示所有文章
顯示具有 LockoutEndDateUtc 標籤的文章。 顯示所有文章

2016年7月12日 星期二

【ASP.MVC Identity 2.0】如何使用 ASP.MVC Identity 2.0

AspNetRoles【Table:角色】
Id
Name
RoleName             【備註】擴充欄位
Discriminator        【備註】擴充欄位-系統自動新增【值:IdentityRole】 中譯‧辨別者,屬於哪個類別使用

AspNetUsers 【Table:使用者】
LockoutEnabled 【備註】是否要驗證錯誤次數 <--- p="">LockoutEndDateUtc 【備註】鎖定日期時間內
AccessFailedCount 【備註】輸入錯誤次數

// 預設需要去「驗證」輸入錯誤計算
manager.UserLockoutEnabledByDefault = true;
//限定自動增加 下次驗證 時間 ,以分為計算
manager.DefaultAccountLockoutTimeSpan = TimeSpan.FromMinutes(5);
//驗證最多錯誤次數
manager.MaxFailedAccessAttemptsBeforeLockout = 5;


當 LockoutEnabled  = 1 時,且 DateTime.Now 小於  LockoutEndDateUtc ,
則 SignInStatus.LockedOut 狀態

因 LockoutEndDateUtc  是美國時間
若要轉換本地時間  設定如下
DateTimeOffset local_date  = DateTime.SpecifyKind(user.LockoutEndDateUtc.Value, DateTimeKind.Utc);

ASP.NET 以 DateTimeOffset 為時間正規共用核心,再透過 區域設定(DateTimeKind.Utc) 轉換正規時間,之後就能 出輸成 local_date.LocalDateTime
<--- p="">
參考網址:
http://qiita.com/standtsukai/items/056e422bed8a57467778

http://www.tqcto.com/article/web/29166.html

http://tech.trailmax.info/2014/06/asp-net-identity-user-lockout/