ASP.NET Core 3.1标识“记住我”为持续FALSE在Chrome上不工作

zpqajqem  于 2023-03-27  发布在  Go
关注(0)|答案(1)|浏览(139)

我有点净核心3.1应用程序使用身份核心.在登录页面,当标记“记住我”为假并登录,然后关闭Chrome浏览器并重新打开,它仍然登录.在哪里,因为它应该在关闭浏览器时注销,因为我标记“记住我”为假.这个问题只发生在“谷歌Chrome”,并在“Microsoft Edge”,“Firefox”等上正常工作.
注意:1)我在多台电脑和多个谷歌帐户上尝试过,但在Chrome上仍然存在同样的问题。2)“记住我”作为TRUE工作正常
登录代码为:

[HttpPost]
    [AllowAnonymous]
    public async Task<IActionResult> Login(Login model, string returnUrl="/")
    {
        if (ModelState.IsValid)
        {
            var result = await _signInManager.PasswordSignInAsync(
                model.Email, model.Password, model.RememberMe, false);

            if (result.Succeeded)
            {
                if (!String.IsNullOrEmpty(returnUrl) && Url.IsLocalUrl(returnUrl) && returnUrl != "/")
                {
                    return LocalRedirect(returnUrl);
                }
                else
                {
                    var LoggedInUser = await _userManager.FindByEmailAsync(model.Email);
                    TempData["UserLanguage"] = LoggedInUser.UserLanguage;

                    var claimsprin = await _signInManager.CreateUserPrincipalAsync(LoggedInUser);
                    var LoggedInUserId = _userManager.GetUserId(claimsprin);

                    var MenuVM = _dataAccessService.GetDefaultPage(LoggedInUserId).Result;
                    if (MenuVM != null)
                    {
                        return RedirectToAction(MenuVM.ActionName, MenuVM.ControllerName);
                    }
                    else // else "/" is called
                    {
                        return LocalRedirect(returnUrl);
                    }
            }
        }

            ModelState.AddModelError(string.Empty, "Invalid Login Attempt");
        }

        return View(model);
    }

如果有人帮忙我会很感激的。先谢了。

r1zhe5dt

r1zhe5dt1#

出于安全原因,Chrome,默认情况下,是启用Clear cookies and site data when you close all windows,如下所示,这就是为什么我们发现记住我在Chrome中不工作.禁用此选项,它将正常工作.

在Edge中,我发现下面的设置。

相关问题