要解决Aspnet Core Identity登录和注册在Google Chrome上不起作用的问题,你可以尝试以下解决方法:
清除浏览器缓存:在Google Chrome浏览器中,按下Ctrl + Shift + Delete键,选择要清除的时间范围并选择清除缓存。
确保Cookie是启用的:在Chrome浏览器中,点击右上角的菜单按钮,选择“设置”,然后在“隐私和安全性”部分中,确保“允许所有网站保存和读取Cookie数据”选项是启用的。
检查代码逻辑:确保你的登录和注册代码没有任何错误。特别是在处理用户身份验证和授权的代码部分。
下面是一个简单的Aspnet Core Identity登录和注册的示例代码:
[HttpPost]
[AllowAnonymous]
public async Task Login(LoginViewModel model, string returnUrl = null)
{
ViewData["ReturnUrl"] = returnUrl;
if (ModelState.IsValid)
{
var user = await _userManager.FindByEmailAsync(model.Email);
if (user != null && await _userManager.CheckPasswordAsync(user, model.Password))
{
await _signInManager.SignInAsync(user, model.RememberMe);
return RedirectToAction(nameof(HomeController.Index), "Home");
}
ModelState.AddModelError(string.Empty, "Invalid login attempt.");
}
return View(model);
}
[HttpPost]
[AllowAnonymous]
public async Task Register(RegisterViewModel model, string returnUrl = null)
{
ViewData["ReturnUrl"] = returnUrl;
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, isPersistent: false);
return RedirectToAction(nameof(HomeController.Index), "Home");
}
AddErrors(result);
}
return View(model);
}
请注意,这只是一个基本示例,你可能需要根据你的实际要求进行适当的调整和修改。