Я использую ASP.NET MVC шаблон 5 Идентичность и имеют в стандартном методе AccountController для регистрации пользователяСеть САШ MVC 5 Идентичность регистрация пользователя подтверждение
// POST: /Account/Register
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
// bind viewModel --> Model
var user = new ApplicationUser
{
UserName = model.Email,
Email = model.Email,
Fio = model.Fio,
Street = model.Street,
...
};
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false);
// For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
// Send an email with this link
string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
...
И я использую callbackUrl
для подтверждения регистрации пользователя.
Тогда я, как пользователь поставил этот адрес в браузере и доказать регистрации:
// GET: /Account/ConfirmEmail
[AllowAnonymous]
public async Task<ActionResult> ConfirmEmail(string userId, string code)
{
if (userId == null || code == null)
{
return View("Error");
}
var result = await UserManager.ConfirmEmailAsync(userId, code);
return View(result.Succeeded ? "ConfirmEmail" : "Error");
}
Таким образом, работать, когда я ставлю оба метода (зарегистрировать и подтвердить) из одного экземпляра моего приложения. Но когда у меня есть два экземпляра и зарегистрируйтесь с первым и подтвердите со вторым, метод ConfirmEmailAsync
возвращает неверный результат.
Я думаю, что UserManager
должен иметь магазин для подключения к базе данных и может проверять электронную почту с другого экземпляра сайта. Это правильно?
Wow! Это сработало! Спасибо)) –
@ АлександрШабунин, если он работает, пожалуйста, примите ответ – trailmax