public void AccountLogOn() { #if DEBUG _accountLogOnView.UserName = "******"; _accountLogOnView.Password = "******"; #else #endif LogOnRequest request = new LogOnRequest(); request.UserName = _accountLogOnView.UserName; request.Password = CryptoHelper.Encrypt(_accountLogOnView.Password); bool validate = _userService.UserValidation(request); if (validate) { _userService.SetLastLogin(request.UserName); //Login Success. _accountLogOnView.HiddenForm(); _homeView.DisplayForm(); } else { //Login Fail. _accountLogOnView.ShowMessageAlert("Systems", "Login Fail !"); } }
public async Task <IActionResult> LogOn(LogOnModel model) { if (model.IsNotValid()) { model.SetInputModelValues(); return(View(model)); } var clientLog = GetClientInfoLog(); var request = new LogOnRequest(model.Email, model.Password, clientLog); var response = await OrganizationService.LogOn(request); if (response.Status.IsNotSuccess) { model.MapMessages(response); model.SetInputModelValues(); return(View(model)); } await HttpContext.SignInWithClaims(response.Item.Name, response.Item.Email); if (model.RedirectUrl != null) { return(Redirect(model.RedirectUrl)); } if (response.Item.IsSuperAdmin) { return(Redirect("/Admin/Dashboard")); } return(RedirectToHome()); }
public UserLoginLog CreateEntityFromRequest(LogOnRequest request, User user) { var entity = new UserLoginLog(); MapClientLogInfo(request.ClientLogInfo, entity); entity.OrganizationId = user.OrganizationId; entity.OrganizationUid = user.OrganizationUid; entity.OrganizationName = user.OrganizationName; entity.UserId = user.Id; entity.UserUid = user.Uid; entity.UserName = user.Name; return(entity); }
public async Task <LogOnResponse> LogOn(LogOnRequest request) { var response = new LogOnResponse(); var user = await _userRepository.Select(x => x.Email == request.Email); if (user.IsNotExist() || !user.IsActive) { response.ErrorMessages.Add("user_not_found_or_not_active"); response.Status = ResponseStatus.Invalid; return(response); } if (_cryptoHelper.Hash(request.Password, user.ObfuscationSalt) == user.PasswordHash) { if (user.LoginTryCount < 6 || user.LastLoginTryAt.HasValue && user.LastLoginTryAt.Value.AddHours(1) < DateTime.UtcNow) { user.LastLoginAt = DateTime.UtcNow; user.LoginTryCount = 0; var loginLog = _userLoginLogFactory.CreateEntityFromRequest(request, user); var uowResult = await _logOnUnitOfWork.DoWork(user, loginLog); if (uowResult) { _cacheManager.UpsertUserCache(user, _userFactory.MapCurrentUser(user)); response.Status = ResponseStatus.Success; response.Item.OrganizationUid = user.OrganizationUid; response.Item.Name = user.Name; response.Item.Email = user.Email; return(response); } } } user.LastLoginAt = null; user.LastLoginTryAt = DateTime.UtcNow; user.LoginTryCount++; await _userRepository.Update(user.Id, user); response.ErrorMessages.Add("password_invalid"); response.Status = ResponseStatus.Failed; return(response); }
public LogOnResponse LogOn(LogOnRequest request) { return(new LogOnResponse()); }
public static LogOnRequest GetLogOnRequest() { var request = new LogOnRequest(EmailOne, PasswordOne, GetClientLogInfo()); return(request); }
public bool UserValidation(LogOnRequest request) { return(_userRepository.IsAuthentication(request.UserName, request.Password)); }