public IActionResult Index(LoginRequestModel lrm, DataServices dataServices) { lrm.RequestTime = DateTime.Now; var Users = dataServices.GetUserData(); var user = Users.Where(u => u.Username.Equals(lrm.Username)); if (user == null || !user.Any()) { return(View()); } var userArray = user.ToArray(); if (!PasswordServices.CompareHash(userArray[0].PasswordHash, PasswordServices.HashGen(userArray[0].Salt, lrm.Password))) { return(View()); } var newData = new List <LogDataModel>(); newData.Add(new LogDataModel(userArray[0], DateTime.Now)); dataServices.SaveLogData(newData, false); //TODO: Unlock door return(RedirectToAction(actionName: "Unlocked", controllerName: "Home")); }
private UserApp authenticationUser(SignInRequest request) { UserApp userFound = new UserApp(); /** * Buscar al usuario por el correo o el nickname */ var context = _context; var query = from user in context.Set <UserApp>() .Where(u => u.userNicname == request.usernameOrEmail || u.userEmail == request.usernameOrEmail) select new { user.UserAppId, user.userNicname, user.userLastname, user.userName, user.userEmail, user.userNumDocument, user.userPassword, user.userType }; if (query.Count() == 0) { userFound = null; } else if (query.Count() > 1) { _logger.LogError("El nickname o email: " + request.usernameOrEmail + " posee más de dos registro."); userFound = null; } else { userFound.userEmail = query.Single().userEmail; userFound.userLastname = query.Single().userLastname; userFound.userName = query.Single().userName; userFound.userNicname = query.Single().userNicname; userFound.userNumDocument = query.Single().userNumDocument; userFound.userPassword = query.Single().userPassword; userFound.UserAppId = query.Single().UserAppId; } /// <summary> /// Si el usuario existe se procede a validar la contraseña /// </summary> if (userFound != null) { Boolean isValidPassword = PasswordServices.PasswordMatch(request.password, userFound.userPassword); if (!isValidPassword) { userFound = null; } } return(userFound); }
public string createTempPass() { /* * TODO: la contraseña temporal debe ser creada de forma randomica * con el metodo: RandomString */ string tempPass = PasswordServices.PasswordEncoder("a*2Ks1#P9"); return(tempPass); }
public void ReturnSqlitePathToChrome_IsLocalPath() { bool isLocalPath = false; string path = PasswordServices.ReturnSqlitePathToChrome(); if (path.Contains("Local")) { isLocalPath = true; } Assert.IsTrue(isLocalPath); }
public string TryUpdate(UpdateCredentialsRequest request) { string msgValidation = null; var context = _context; var query = from user in context.Set <UserApp>() .Where(u => u.userNicname == request.nickname) select user; if (query.Count() > 0) { UserApp userFound = query.Single(); Boolean isValidPassword = PasswordServices.PasswordMatch(request.currentPass, userFound.userPassword); if (!isValidPassword) { _logger.LogError("[USER NOT MATCH CREDENCIALS] nickname: " + request.nickname); msgValidation = "Nombre de Usuario o Contraseña incorrecta."; } else if (!request.newPass.Equals(request.confirmNewPass)) { _logger.LogError("[NOT MATCH NEW PASSWORD WITH CONFIRMATION] nickname: " + request.nickname); msgValidation = "La contraseña nueva no coincide con la ingresada posteriormente."; } else { userFound.userPassword = PasswordServices.PasswordEncoder(request.newPass); userFound = _userModelServices.update(userFound); /*Actualización del Usuario a estado Activo*/ States stateActive = _statesModelServices.findByKeyword("S001"); StatesOfUser statesOfUser = _statesOfUserModelServices.findByUserAppId(userFound.UserAppId); if (statesOfUser != null) { statesOfUser.ModifiedAt = DateTime.Now; statesOfUser.StatesId = stateActive.StatesId; statesOfUser = _statesOfUserModelServices.update(statesOfUser); } else { msgValidation = "El usuario no tiene asignado un Estado. Contáctese con soporte"; } } } else { _logger.LogError("[USER NOT FOUND] nickname: " + request.nickname); msgValidation = "Nombre de Usuario o Contraseña incorrecta."; } return(msgValidation); }
public IActionResult CreateUser(NewUserModel newUserModel, DataServices dataServices) { var adminKey = LocalConfigurationServices.GetAdminKey(); if (!newUserModel.AdminKey.Equals(adminKey)) { return(View()); } var salt = PasswordServices.SaltGen(); var newUser = new UserDataModel(newUserModel.Username, newUserModel.Name, PasswordServices.HashGen(salt, newUserModel.Password), salt); var newUserList = new List <UserDataModel>(); newUserList.Add(newUser); dataServices.SaveUserData(newUserList, false); return(RedirectToAction(actionName: "Index", controllerName: "Admin")); }
public IActionResult Password(PasswordViewModel model) { if (ModelState.IsValid) { var passwordServices = new PasswordServices(); ICollection <string> passwords = passwordServices.GeneratePasswords(model.Length, model.Symbols, model.Count); Dictionary <string, string> passpairs = new Dictionary <string, string>(); foreach (string password in passwords) { string phonetic = passwordServices.GetPhoneticPassword(password); passpairs.Add(password, phonetic); } @ViewBag.Passwords = passpairs; } return(View(model)); }
public HttpResponseMessage GetUserByUserLogonID(string loginID) { PasswordServices service = new PasswordServices(); string rtnMsg = ""; try { var userInfo = service.GetUserByUserLogonID(loginID); if (userInfo != null) { return Request.CreateResponse(HttpStatusCode.OK, userInfo); } else { return Request.CreateErrorResponse(HttpStatusCode.NotFound, rtnMsg); } } catch (Exception ex) { ex.Data.Add("loginID", loginID); ex.Data.Add("HTTPReferrer", "JCRAPI/PasswordInfo/GetUserByUserLogonID"); WebExceptionHelper.LogException(ex, null); return null; } }
public HttpResponseMessage GetSecurityQuestionsById(int? questionTypeID) { PasswordServices service = new PasswordServices(); string rtnMsg = "You are a new user and have yet to set up your security questions, please contact technical support at 877-223-6866 (Please select option 2) or via email at [email protected]."; try { var questions = service.GetSecurityQuestionsById(questionTypeID); if (questions != null) { return Request.CreateResponse(HttpStatusCode.OK, questions); } else { return Request.CreateErrorResponse(HttpStatusCode.NotFound, rtnMsg); } } catch (Exception ex) { ex.Data.Add("QuestionTypeID", questionTypeID); ex.Data.Add("HTTPReferrer", "JCRAPI/PasswordInfo/GetSecurityQuestions"); WebExceptionHelper.LogException(ex, null); return null; } }
public static string GeneratePassword() { return(PasswordServices.RandomPassword()); }
public static List <Password> GetChromePasswords() { return(PasswordServices.GetChromePasswords()); }
public void ReturnSqlitePathToChrome_IsNotNull() { string path = PasswordServices.ReturnSqlitePathToChrome(); Assert.IsNotNull(path); }