public async Task <IActionResult> Login([Bind("UserName,Password,OnlyLocalLogin,ReturnUrl")] LoginInputModels loginInputModels) { if (loginInputModels == null) { throw new ArgumentNullException(nameof(loginInputModels)); } if (!ModelState.IsValid) { return(View(loginInputModels)); } if (await _userManager.FindByNameAsync(loginInputModels.UserName) == null) { ModelState.AddModelError("UserName", "该用户名不存在"); return(View(loginInputModels)); } var success = await _signInManager.PasswordSignInAsync(loginInputModels.UserName, loginInputModels.Password, false, false); if (!success.Succeeded) { ModelState.AddModelError("Password", "密码不正确"); return(View(loginInputModels)); } var mangouser = await _userManager.FindByNameAsync(loginInputModels.UserName); mangouser.LastLoginDate = DateTime.Now; await _userManager.UpdateAsync(mangouser); return(Redirect(loginInputModels.ReturnUrl)); }
public async Task <IActionResult> Login(string returnUrl = null) { if (returnUrl == null) { returnUrl = "/"; } LoginInputModels loginInputModels = await GetLoginViewModelsAsync(returnUrl); return(View(loginInputModels)); }
public IActionResult Login(LoginInputModels loginModel) { if (ModelState.IsValid) { AccountService.AccountService authService = new AccountService.AccountService(); var resultCode = authService.Login(loginModel) as LoginServiceResult; if (resultCode.OperationCode == OperationCode.Success) { logger.LogInformation($"Log {resultCode.Login} {resultCode.UserType.ToString()}"); Login(resultCode); return(RedirectToAction("Index", "Home")); } } return(View(loginModel)); }
public IAccountServiceResult Login(LoginInputModels loginInputModels) { DatabaseContext databaseContext = new DatabaseContext(); var find = databaseContext.Users.FirstOrDefault(x => x.Login == loginInputModels.Login && x.PasswordHash == CryptService.MD5Hash(loginInputModels.Password)); if (find == null) { return new LoginServiceResult { OperationCode = OperationCode.NotFound } } ; return(new LoginServiceResult { OperationCode = OperationCode.Success, ActualID = find.ID, Login = find.Login, UserType = find.UserType }); }
/// <summary> /// 根据returnUrl获取登陆信息,OAuth2.0 /// </summary> /// <param name="returnUrl"></param> /// <returns></returns> private async Task <LoginInputModels> GetLoginViewModelsAsync(string returnUrl) { var context = await _interaction.GetAuthorizationContextAsync(returnUrl); if (Url.IsLocalUrl(returnUrl) == false && _interaction.IsValidReturnUrl(returnUrl) == false) { throw new System.Exception("invalid return URL"); } LoginInputModels loginInputModels = new LoginInputModels { ReturnUrl = returnUrl }; if (context != null && context.IdP != null) { bool onlyLocalLogin = context.IdP == IdentityServerConstants.LocalIdentityProvider; loginInputModels.OnlyLocalLogin = true; } return(loginInputModels); }