Ах, хорошо, спасибо за разъяснение

аюсь проверить статус подтверждения электронной почты после входа в систему и затем направить их соответствующим образом.

На основе этих двух потоков:

ASP.NET Core Identity - получить текущего пользователя

Как получить текущего пользователя в ядре asp.net

Я попробовал это:

var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: false);
if (result.Succeeded)
{
    ClaimsPrincipal currentUser = this.User;
    var thisUser = await _userManager.GetUserAsync(currentUser);
    if(thisUser.EmailConfirmed)
    {
        return View("~/Views/Task/Index.cshtml");
    }
    else
    {
        return View("ConfirmEmail");
    }
}

А также это:

var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: false);
if (result.Succeeded)
{   
    var thisUser = await _userManager.GetUserAsync(HttpContext.User);
    if(thisUser.EmailConfirmed)
    {
        return View("~/Views/Task/Index.cshtml");
    }
    else
    {
        return View("ConfirmEmail");
    }
}

Изнутри контроллер, ноthisUser всегда ноль.

Как я могу проверить при входе в систему, что их электронная почта подтверждена и перенаправить соответствующим образом?

Ответы на вопрос(2)

поэтому я просто посмотрел ее прямо в базе данных.

var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: false);
if (result.Succeeded)
{
    _logger.LogInformation("User logged in.");

    var user = _context.Users.Single(x => x.Email == model.Email);

    if(user.EmailConfirmed)
    {
        return View("~/Views/Task/Index.cshtml");
    }
    else
    {
        return View("ConfirmEmail");
    }

}
 Camilo Terevinto10 сент. 2017 г., 16:48
Это не совсем так. Вы можете установить куки (которые вам, конечно, нужно) без перенаправления. Это именно то, что вы делаете в этом ответе, который я имел в виду во втором решении
 Camilo Terevinto10 сент. 2017 г., 16:39
Мое второе решение точноRead data from wherever it's stored basing on the email you already have и это то, что ты сделал.
 Camilo Terevinto10 сент. 2017 г., 16:36
Если вы можете получить свое решение из моего ответа, вы должны принять мой ответ, а не публиковать свой собственный.
 Guerrilla10 сент. 2017 г., 16:49
Ах, хорошо, спасибо за разъяснение
Решение Вопроса

Membership а такжеIdentity: они основаны наcookies, Файлы cookie могут быть прочитаны, только если они отправлены клиентом.

Итак, это ваш поток:

Установить печеньеЧитать куки

Это неправильно, как объяснено выше. Ваш поток должен быть:

Установить печеньеПеренаправить куда-нибудьЧтение куки (который сейчас был отправлен клиентом)

ИЛИ ЖЕ

Установить печеньеЧитайте данные, где бы они ни хранились, на основеemail у тебя уже есть

Ваш ответ на вопрос