public virtual async Task <JsonResult> Login(LoginModel loginModel, string returnUrl = "") { if (!ModelState.IsValid) { throw new UserFriendlyException("Your form is invalid!"); } var user = await _userManager.FindAsync(loginModel.EmailAddress, loginModel.Password); if (user == null) { throw new UserFriendlyException("Invalid user name or password!"); } await SignInAsync(user, loginModel.RememberMe); if (string.IsNullOrWhiteSpace(returnUrl)) { returnUrl = Request.ApplicationPath; } return(Json(new MvcAjaxResponse { TargetUrl = returnUrl })); }