相关疑难解决方法(0)

Asp.NET Core 2 身份验证。SignInManager.PasswordSignInAsync() 成功,但 User.Identity.IsAuthenticated 为 false

我正在关注 IdentityUser 的一些教程,我认为我的做法与教程中的完全一样,但是当我尝试登录时,即使 _signInManager 成功,我也会收到“MyIdentity:False”(带有 LogInformation),这似乎很奇怪。我尝试将用户设置为已确认,但没有结果。

我正在 Mac 上使用 Visual Studio。

以下是我注册用户的方法:

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<IActionResult> 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, false);
            return this.RedirectToAction("Index", "Home");
        }
        else
        {
            foreach (var error in result.Errors)
                ModelState.AddModelError("", error.Description);
        }   
    }

    return View(model);
}
Run Code Online (Sandbox Code Playgroud)

这是我尝试登录的方法:

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Login(LoginViewModel model)
{
    if (ModelState.IsValid)
    { …
Run Code Online (Sandbox Code Playgroud)

authentication asp.net-core asp.net-core-2.0

5
推荐指数
1
解决办法
2592
查看次数