public async Task <IActionResult> Login(LoginViewModel model) { if (model == null) { model = new LoginViewModel(); model.ErrorInfo = "请输入用户名"; } var userPrincipal = await _IdentityService.CheckUserAsync(model.UserName, model.Password); if (userPrincipal != null) { await HttpContext.SignInAsync(IdentityService.AuthenticationScheme, userPrincipal); if (string.IsNullOrEmpty(model.ReturnUrl)) { model.ReturnUrl = "/Home/MainPage"; } return(Redirect(model.ReturnUrl)); } else { model.ErrorInfo = "用户名或密码错误"; } return(View("~/Views/Home/Index.cshtml", model)); }
public async Task <IActionResult> Login(LoginViewModel model, string returnUrl = null) { ViewData["Error"] = true; ViewData["ReturnUrl"] = returnUrl; model.Email = model.Email?.Trim(); model.Password = model.Password?.Trim(); if (!ModelState.IsValid) { return(View(model)); } var user = await _identityService.CheckUserAsync(model.Email, model.Password); if (user == null) { ModelState.AddModelError(string.Empty, "用户名或密码错误"); model.Password = string.Empty; return(View(model)); } ViewData["Error"] = false; //登录 await HttpContext.Authentication.SignInAsync(IdentityService.AuthenticationScheme, user); //重定向 return(RedirectToLocal(returnUrl)); }
public async Task <IActionResult> Login(LoginViewModel model, string returnUrl = null) { ViewData["ReturnUrl"] = returnUrl; if (!ModelState.IsValid) { return(View(model)); } //使用用户名和密码获取用户信息 var user = await _identityService.CheckUserAsync(model.UserName, model.Password); if (user == null) { //无用户返回错误 ModelState.AddModelError(string.Empty, "用户名或密码错误!"); return(View(model)); } //登录,在Response中设置Cookie await HttpContext.Authentication.SignInAsync(IdentityService.AuthenticationScheme, user); return(RedirectToLocal(returnUrl)); }