사용자가 세부 정보를 변경할 수있는 응용 프로그램 사용자의 편집보기가 있습니다. 보기에는 사용자 이름, 전자 메일, 이전 암호 및 새 암호가 포함됩니다. 마찬가지로, 사용자가 이전 암호를 입력하십시오 나는 ajax와 데이터베이스에 사용자가 올바른 이전 암호를 입력했는지 여부를 확인하고 싶습니까? 이전 암호가 맞으면 새 암호를 사용하도록 설정해야합니다. 그렇지 않으면 사용자에게 암호가 잘못되었다는 메시지를 표시해야합니다. 이것을 어떻게 할 수 있습니까? 그것을하기위한 원격 방법이 있습니까?입력 한 이전 암호를 확인하는 방법은 MVC Entity Code-First Approach에서 정확합니까?
보기 모델
[DataType(DataType.Password)]
[Display(Name = "Old password")]
public string OldPassword { get; set; }
[DataType(DataType.Password)]
[Display(Name = "New password")]
public string NewPassword { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
public string NewPasswordCompare { get; set; }
아약스 코드
<script>
$(document).ready(function() {
$("#Verify").click(function() {
var oldPassword = $('#Password').val();
$.ajax({
type: "GET",
url: "@Url.Action("GetPassword")",
data: {'id':@Model.Id, 'password': oldPassword},
datatype: "JSON",
success: function (data) {
if (data) {
console.log("Working");
}
}
});
});
});
</script>
컨트롤러
public JsonResult GetPassword(string id, string password)
{
using (var db = new ApplicationDbContext())
{
var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(db));
var user = UserManager.FindById(id);
if (UserManager.CheckPassword(user, password))
{
return Json(true, JsonRequestBehavior.AllowGet);
}
else
{
return Json(false, JsonRequestBehavior.AllowGet);
}
}
Ajax 요청이 작동하지 않음.
당신이 그것을 – niksofteng
첫째 나는 이미 시도 시도해야합니다. 여기에 코드를 공유하겠습니다. –
[UserManagerExtensions.CheckPassword] (https://msdn.microsoft.com/en-us/library/dn497468(v=108).aspx) – tchelidze