Gần đây tôi đã cập nhật Asp.Net Identity Core
đơn đăng ký của mình từ 1.0 đến 2.0.
Có những tính năng mới mà tôi muốn thử GenerateEmailConfirmationToken
, v.v.
Tôi đang sử dụng dự án này như một tài liệu tham khảo.
Khi người dùng cố gắng đăng ký, tôi gặp lỗi trong quá trình thực hiện phương thức Đăng ký
private readonly UserManager<ApplicationUser> _userManager;
public ActionResult Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
var ifUserEXists = _userManager.FindByName(model.EmailId);
if (ifUserEXists == null) return View(model);
var confirmationToken = _userRepository.CreateConfirmationToken();//this is how i'm generating token currently.
var result = _userRepository.CreateUser(model,confirmationToken);
var user = _userManager.FindByName(model.EmailId);
if (result)
{
var code = _userManager.GenerateEmailConfirmationToken(user.Id);//error here
_userRepository.SendEmailConfirmation(model.EmailId, model.FirstName, confirmationToken);
//Information("An email is sent to your email address. Please follow the link to activate your account.");
return View("~/Views/Account/Thank_You_For_Registering.cshtml");
}
}
//Error("Sorry! email address already exists. Please try again with different email id.");
ModelState.AddModelError(string.Empty, Resource.AccountController_Register_Sorry__User_already_exists__please_try_again_);
return View(model);
}
Trong dòng
var code = _userManager.GenerateEmailConfirmationToken(user.Id);
Tôi gặp lỗi khi nói:
No IUserTokenProvider is registered.
Hiện tại, tôi chỉ muốn xem nó tạo ra loại mã nào. Có một số thay đổi tôi cần thực hiện đối với ApplicationUser
lớp kế thừa từ IdentityUser
lớp của mình không?
Hoặc có điều gì đó tôi cần thay đổi để các chức năng đó hoạt động?