【发布时间】:2018-02-18 12:49:57
【问题描述】:
我正在尝试在登录后检查用户的电子邮件确认状态,然后相应地引导他们。
基于这两个线程:
ASP.NET Core Identity - get current user
How get current user in asp.net core
我试过了:
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 始终为空。
如何在登录时检查他们的电子邮件是否已确认并正确重定向?
【问题讨论】:
标签: c# asp.net-core asp.net-core-mvc asp.net-core-2.0