/// <summary> /// Valida si un usuario esta registrado en la base datos y en caso de existir que /// la contraseña enviada sea correcta /// </summary> /// <param name="request">Credenciales de login</param> /// <returns>Un objeto respuesto del tipo LoginResponseDTO.</returns> public ResponseDTO <LoginResponseDTO> ValidateUser(UserDTO request) { ResponseDTO <List <LoginResponseDTO> > responseList = loginResponseDataManager.GetByUser(request); ResponseDTO <LoginResponseDTO> response = new ResponseDTO <LoginResponseDTO>(); //Valida que la contraseña sea correcta si se obtuvo al usuario correctamente if (responseList.Success) { //Si el usuario tiene mas de un un rol asignado, se valida si tiene el rol de administrador, //en caso de que no exista se envia el rol de supervisor. if (responseList.Result.Count > 1) { var query = from p in responseList.Result where p.Role.IdRole == 1 select p; response.Result = query.First(); } if (response.Result == null) { response.Result = responseList.Result.First(); } //Se valida que la contraseña enviada sea correcta response.Result.IsAuthenticated = HashEncryption.VerifyHashPassword(response.Result.User.Password, request.Password); response.Result.User.Password = string.Empty; } if (!response.Result.IsAuthenticated) { response.Result = null; response.Success = false; response.Message = "Username or Password incorrect."; } return(response); }
public void TestMethod1() { string Pass = HashEncryption.Hash("TextPassword"); bool ValidatePass = HashEncryption.VerifyHashPassword(Pass, "TextPassword"); Assert.IsTrue(ValidatePass); }