使用情境為 刪除或取消某特定資料, 要求再輸入一次密碼時, 如:取消報名課程, 要求輸入帳戶密碼。
網路關於CheckPassword使用範例很少,在此記錄一下:
1.引用
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.Owin;
2.Controller加寫宣告 _userManager 及UserManager之後再使用UserManager.CheckPassword
public class XXXXXController : Controller
{
private ApplicationUserManager _userManager;
public ApplicationUserManager UserManager
{
get
{
return _userManager ?? HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
}
private set
{
_userManager = value;
}
}
..................
//CheckPassword不接受單純的UserId, 所以要用下行取得ApplicationUser
var user = UserManager.Users.FirstOrDefault(e => e.UserName == User.Identity.Name);
if (UserManager.CheckPassword(user, password))
{
//密碼驗證成功執行
}
else
{
ModelState.AddModelError("", "密碼錯誤。");
}
}
留言列表