[英]ASP.NET MVC - How do Remove log in Cookies from a asp.net site
如何避免在登錄時瀏覽器保存此登錄數據,並且即使關閉瀏覽器后用戶仍可以輸入
那就是我的登錄控制器
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
if (!ModelState.IsValid)
{
return View(model);
}
var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
var userDTO = new ExpandedUserDTO();
switch (result)
{
case SignInStatus.Success:
ApplicationUser user = await UserManager.FindAsync(model.Email, model.Password);
return RedirectToAction("RedirectLogin");
case SignInStatus.LockedOut:
return View("Lockout");
case SignInStatus.RequiresVerification:
return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
case SignInStatus.Failure:
default:
ModelState.AddModelError("", "Falha ao Realizar login, usuário ou senha incorretos.");
return View(model);
}
}
SignInManager.PasswordSignInAsync
的第三個參數確定在關閉瀏覽器后cookie是否將保留。 如果您不希望cookie保留,請始終為該參數傳遞false
。
請在此處查看有關此方法的文檔-https: //docs.microsoft.com/dotnet/api/microsoft.aspnetcore.identity.signinmanager-1.passwordsigninasync?view=aspnetcore - 2.2
您可以嘗試進行以下更改:
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
if (!ModelState.IsValid)
{
return View(model);
}
var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, false, shouldLockout: false);
var userDTO = new ExpandedUserDTO();
switch (result)
{
case SignInStatus.Success:
ApplicationUser user = await UserManager.FindAsync(model.Email, model.Password);
return RedirectToAction("RedirectLogin");
case SignInStatus.LockedOut:
return View("Lockout");
case SignInStatus.RequiresVerification:
return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = false });
case SignInStatus.Failure:
default:
ModelState.AddModelError("", "Falha ao Realizar login, usuário ou senha incorretos.");
return View(model);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.