Tôi đang sử dụng danh tính trong dự án MVC của mình và tất cả đều tốt đẹp. Ngoại trừ thực tế rằng biểu mẫu đăng ký người dùng mới có một số yêu cầu mật khẩu điên khùngXác thực mật khẩu nhận dạng ASP.NET
Mật khẩu phải có ít nhất một ký tự không phải chữ hoặc số. Mật khẩu phải có ít nhất một chữ số ('0' - '9'). Mật khẩu phải có ít nhất một chữ hoa ('A' - 'Z').
Và đây là mô hình đăng ký
public class RegisterViewModel
{
[Required]
[StringLength(50, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 2)]
[Display(Name = "First Name")]
public string FirstName { get; set; }
[Required]
[StringLength(50, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 2)]
[Display(Name = "Last Name")]
public string LastName { get; set; }
[Required]
[EmailAddress]
[Display(Name = "Email")]
public string Email { get; set; }
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Passord")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Repeat Password")]
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }
}
điều khiển tài khoản
// POST: /Account/Register
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false);
return RedirectToAction("Index", "Home");
}
AddErrors(result);
}
// If we got this far, something failed, redisplay form
return View(model);
}
tôi thấy yêu cầu chiều dài cho mật khẩu, nhưng tôi không hiểu làm thế nào để thay đổi xác thực mật khẩu vì vậy tôi không cần ký tự không phải chữ cái hoặc chữ số.
Tất cả trợ giúp đánh giá cao, cảm ơn bạn.
Phần thưởng: {0} và {2} có nghĩa là gì? Cảm ơn bạn.
xác thực đó có thể nằm trong 'AccountController' của bạn ở đâu đó. – DLeh
Tìm kiếm dự án của bạn cho "RequireNonLetterOrDigit" và xem [here] (http://stackoverflow.com/questions/24796454/how-to-change-password-validation-in-asp-net-mvc-identity-2?rq= 1). Tiền thưởng: đó là một chuỗi định dạng có hai phần giữ chỗ cho thông số 0 và 2 được truyền cho định dạng đó. – Jasen
Cảm ơn các bạn. –