public RetornoModel <UsuarioModel> Login(string cpf, string senha) { RetornoModel <UsuarioModel> result = new RetornoModel <UsuarioModel> { Mensagem = "Usuário ou senha incorretos." }; try { var user = _ado.CarregarPorCPF(cpf); if (user != null) { if (CriptografiaUtil.VerificarSenha(user.Senha, senha)) { result.Retorno = user.MapTo <UsuarioModel>(); result.Sucesso = true; result.Mensagem = "OK"; } } } catch (Exception ex) { LogUtil.Error(ex); throw; } return(result); }
//---------------------------------------------------------------------- public bool CriarConta(Funcionario funcionario) { var repository = new FuncionarioRepository(); try { repository.AbrirConexao(); if (!repository.LoginExistente(funcionario.Login)) { funcionario.Senha = CriptografiaUtil.GetMD5(funcionario.Senha); repository.Inserir(funcionario); } else { MsgErro = $"Login {funcionario.Login} já encontra-se cadastrado, tente outro."; } } catch (Exception e) { //HAFAZER: LOG4NET Debug.WriteLine(e.Message); MsgErro = "Erro ao criar conta de Funcionário."; return(false); } finally { repository.FecharConexao(); } return(true); }
/// <summary> /// Busca usuário /// </summary> /// <param name="filtro">ValidaUsuarioFiltro</param> /// <returns>UsuarioEntidade</returns> public UsuarioEntidade BuscaUsuario(ValidaUsuarioFiltro filtro) { using (var sqlConnection = this.InstanciaConexao()) { // Parametro var senhaOrigem = CriptografiaUtil.Descriptografa(filtro.usuarioSenha, "ch4v3S3m2nt3BHJ0e1tA9u4t4hu1s33r"); var senhaEncryp = CriptografiaUtil.CriptografiaHash(senhaOrigem); var senhaEncrypByte = Encoding.UTF8.GetBytes(senhaEncryp); // Query string query = @"select * from tblUsuarios where vcEmail = @usuemaillogin and vbPassword = @usupass"; // and //bitAtivo = 1"; //if (filtro.usuarioTipo != null) // query += " and idTipoUsuario = @usutp"; // Execução return(sqlConnection.QueryFirstOrDefault <UsuarioEntidade>(query, new { usuemaillogin = filtro.usuarioEmail, usupass = senhaEncrypByte //usutp = filtro.usuarioTipo != null ? ((int)filtro.usuarioTipo) : 1 })); } }
public override void Alterar(Usuario entidade) { var entidadeBanco = this.SelecionarPorId(new Usuario { Id = entidade.Id }); if (entidadeBanco != null) { entidadeBanco.Nome = entidade.Nome; entidadeBanco.CPF = entidade.CPF; entidadeBanco.Email = entidade.Email; entidadeBanco.Login = entidade.Login; entidadeBanco.PerfilId = entidade.PerfilId; if (entidade.PerfilId == 2) { entidadeBanco.CancelaId = entidade.CancelaId; } else { entidadeBanco.CancelaId = null; } if (!string.IsNullOrWhiteSpace(entidade.Senha)) { entidadeBanco.Senha = CriptografiaUtil.Criptografar(entidade.Senha); } base.Alterar(entidadeBanco); } else { throw new EntidadeNaoExistenteException("Não existe nenhum registro cadastrado na base de dados."); } }
public override void Inserir(Usuario entidade) { entidade.Status = Status.Ativo; entidade.Senha = CriptografiaUtil.Criptografar(entidade.Senha); base.Inserir(entidade); }
public byte[] RetornaSenhaEncriptada(string senha) { var senhaOrigem = CriptografiaUtil.Descriptografa(senha, "ch4v3S3m2nt3BHJ0e1tA9u4t4hu1s33r"); var senhaEncryp = CriptografiaUtil.CriptografiaHash(senhaOrigem); return(Encoding.UTF8.GetBytes(senhaEncryp)); }
public ActionResult Registrar(RegistrarUsuarioModel model) { // Cadastra Cliente Externo if (ModelState.IsValid) { try { ViewBag.ErroLogin = ""; // Verifica Senha if (model.Senha != model.SenhaConfirm) { ViewBag.ErroLogin = "******"; model.Senha = ""; model.SenhaConfirm = ""; return(View(model)); } // Incluir Cliente clienteServico.IncluirClienteAvulso(new ClienteAvulsoDTO() { Nome = model.Nome, Email = model.Email, DataNascimento = model.DataNascimento ?? default(DateTime), Celular = model.Celular, Comercial = model.Comercial, CPF = model.CPF, CEP = model.CEP, Rua = model.Rua, Bairro = model.Bairro, Cidade = model.Cidade, Estado = model.Estado.ToString(), NomeCartaoCredito = model.NomeCartaoCredito, Numero = model.Numero ?? 0, NumeroCartaoCredito = model.NumeroCartaoCredito.Replace(".", ""), Pais = model.Pais, Senha = CriptografiaUtil.Criptografa(model.Senha, "ch4v3S3m2nt3BHJ0e1tA9u4t4hu1s33r"), Sexo = model.Sexo.ToString(), ValidadeCartaoCredito = model.ValidadeCartaoCredito }); ViewBag.ErroLogin = string.Empty; TempData["SucessoLogin"] = $"Bem vindo, {model.Nome}, cadastro realizado com sucesso"; } catch (Exception e) { ViewBag.ErroLogin = e.Message; return(View(model)); } return(RedirectToAction("Login", "Home")); } else { return(View()); } }
public async Task <bool> BuscaUsuario() { try { // Carregando Loading = true; OffLoading = false; // Database using (var db = new Database()) { if (await db.ExisteTabela <UsuarioLogado>() == false) { await db.CriaTabela <UsuarioLogado>(); return(false); } else { var item = await db.BuscaItems <UsuarioLogado>(); if (item == null || !item.Any()) { return(false); } var usuario = item.LastOrDefault(); if (usuario != null) { Login = new LoginModel() { Username = usuario.usuario, Password = CriptografiaUtil.Descriptografa(usuario.senha, protSenha) }; return(true); } else { return(false); } } } } finally { // Finaliza loading Loading = false; OffLoading = true; } }
public TokenModel Autenticar(string usuario, string senha) { // HttpClient using (var httpClient = new HttpClient() { BaseAddress = new Uri(ServicoRotas.Base) }) { // Parametros var parametros = new KeyValuePair <string, string>[] { new KeyValuePair <string, string>("username", usuario), new KeyValuePair <string, string>("password", CriptografiaUtil.Criptografa(senha, "ch4v3S3m2nt3BHJ0e1tA9u4t4hu1s33r")), new KeyValuePair <string, string>("grant_type", "password"), new KeyValuePair <string, string>("Modulo", "Mobile"), new KeyValuePair <string, string>("area", "2"), }; // Requisiçao var requisicao = new HttpRequestMessage(HttpMethod.Post, ServicoRotas.Base + ServicoRotas.Autenticacao.PostAutenticar) { Content = new FormUrlEncodedContent(parametros) }; // Resposta var resposta = httpClient.SendAsync(requisicao).Result; // Content var conteudo = resposta.Content; // Validação switch (resposta.StatusCode) { case System.Net.HttpStatusCode.OK: // Deserialize usuario autentidado var autenticado = JsonConvert.DeserializeObject <TokenModel>(conteudo.ReadAsStringAsync().Result); // Sessao GlobalVariablesManager.SetApplicationCurrentProperty(GlobalVariablesManager.VariaveisGlobais.Token, autenticado.access_token); // Return model return(autenticado); case System.Net.HttpStatusCode.Unauthorized: throw new ErrorException("Usuário desativado ou sem permissão de acesso."); default: throw new ErrorException(DeserializaResponse(resposta, Mensagem.Erro.ErroPadrao)); } } }
private async Task GravaUsuario() { // Database using (var db = new Database()) { await db.LimpaTabela("BHJetMotorista"); await db.InsereItem(new UsuarioLogado() { IDMotorista = usuarioAutenticado.IDProfissional, usuario = Login.Username, senha = CriptografiaUtil.Criptografa(Login.Password, protSenha) }); } }
public RetornoModel <UsuarioModel> Salvar(UsuarioModel model) { RetornoModel <UsuarioModel> result = new RetornoModel <UsuarioModel> { Mensagem = "OK" }; try { var user = _ado.CarregarPorCPF(model.CPF); if (user != null && user.ID != model.ID) { result.Mensagem = "Já existe um usuário com este CPF. Não é possível concluir a operação"; return(result); } model.CPF = model.CPF.OnlyNumbers(); if (!model.CPF.IsValidCPFCNPJ()) { result.Mensagem = "Documento informado não é válido"; return(result); } if (model.ID > 0) { result.Sucesso = _ado.Atualizar(model.MapTo <Usuario>()); result.Retorno = model; if (!result.Sucesso) { result.Mensagem = "Registro não localizado para modificação. Verifique se o ID informado está correto"; } } else { model.Senha = CriptografiaUtil.CriptografarSenha(model.Senha); result.Retorno = _ado.Inserir(model.MapTo <Usuario>()).MapTo <UsuarioModel>(); result.Sucesso = true; } } catch (Exception ex) { LogUtil.Error(ex); throw; } return(result); }
public TokenModel Autenticar(AutenticacaoFiltro filtro) { // HttpClient using (var httpClient = new HttpClient() { BaseAddress = new Uri(ServicoRotas.Base) }) { // Parametros var parametros = new KeyValuePair <string, string>[] { new KeyValuePair <string, string>("username", filtro.usuario), new KeyValuePair <string, string>("password", CriptografiaUtil.Criptografa(filtro.senha, "ch4v3S3m2nt3BHJ0e1tA9u4t4hu1s33r")), new KeyValuePair <string, string>("grant_type", "password"), new KeyValuePair <string, string>("Modulo", "Web") //new KeyValuePair<string, string>("area", ((int)filtro.area).ToString()), }; // Requisiçao var requisicao = new HttpRequestMessage(HttpMethod.Post, ServicoRotas.Base + ServicoRotas.Autenticacao.PostAutenticar) { Content = new FormUrlEncodedContent(parametros) }; // Resposta var resposta = httpClient.SendAsync(requisicao).Result; // Content var conteudo = resposta.Content; // Validação switch (resposta.StatusCode) { case System.Net.HttpStatusCode.OK: return(JsonConvert.DeserializeObject <TokenModel>(conteudo.ReadAsStringAsync().Result)); case System.Net.HttpStatusCode.Unauthorized: throw new UnauthorizedAccessException(); default: var teste = DeserializaResponse(resposta, Mensagem.Erro.ErroPadrao); throw new UnauthorizedAccessException(teste); } } }
public RetornoModel MudarSenha(MudarSenhaModel model, int usuarioAtual) { var result = new RetornoModel(); try { var usuario = _ado.Carregar(usuarioAtual); if (usuario == null) { result.Mensagem = "Usuario não está autenticado. Por favor efetue novamente o login antes de continuar"; return(result); } else { if (model.UsuarioDiferente && usuario.Perfil != PerfilUsuario.Administrador) { result.Mensagem = "Você não possui permissão para realizar essa operação"; return(result); } if (!model.UsuarioDiferente) { if (!CriptografiaUtil.VerificarSenha(usuario.Senha, model.SenhaAtual)) { result.Mensagem = "Senha atual não confere!"; return(result); } model.IdUsuario = usuarioAtual; } result.Sucesso = _ado.MudarSenha(CriptografiaUtil.CriptografarSenha(model.NovaSenha), model.IdUsuario); result.Mensagem = "Senha alterada com sucesso!"; } return(result); } catch (Exception ex) { LogUtil.Error(ex); throw; } }
public bool ValidarLogin(string login, string senha) { var retorno = false; var entidadeBanco = this.RepositorioBase.SelecionarPor(x => x.Login.Equals(login)).FirstOrDefault(); if (entidadeBanco != null) { if (CriptografiaUtil.Comparar(senha, entidadeBanco.Senha)) { entidadeBanco.DataHoraLogin = DateTime.Now; base.Alterar(entidadeBanco); retorno = true; } } else { throw new EntidadeNaoExistenteException("O registro solicitado não foi encontrado ou não existe."); } return(retorno); }
public string ResetaSenhaUsuario(long idusu) { using (var sqlConnection = this.InstanciaConexao()) { // Gera senha var senha = GeraSenhaAleatoria(); byte[] senhabt = RetornaSenhaEncriptada(CriptografiaUtil.Criptografa(senha, "ch4v3S3m2nt3BHJ0e1tA9u4t4hu1s33r")); // Query string query = @"UPDATE tblUsuarios set vbPassword = @_senha where idUsuario = @_id"; // Execução sqlConnection.ExecuteScalar(query, new { _id = idusu, _senha = senhabt }); // return return(senha); } }
public ActionResult Novo(NovoMotoristaModel model) { try { // Validacoes //if (model.Comissao != null && model.Comissao.Any()) //{ // model.Comissao.All(x => // { // if (!DateTime.TryParse(x.VigenciaInicio, out DateTime ini) || !DateTime.TryParse(x.VigenciaFim, out DateTime fim)) // throw new Exception($"Preencha datá válida para vigência da comissão."); // else if (DateTime.Parse(x.VigenciaFim) <= DateTime.Now.Date || DateTime.Parse(x.VigenciaFim) < DateTime.Parse(x.VigenciaInicio)) // throw new Exception($"A comissão {x.ID} está com a data de vigência final menor que a data atual ou que a vigência inicial, favor atualizar."); // else if (x.ValorComissao == null || x.VigenciaInicio == null || x.VigenciaFim == null) // throw new Exception($"Preencha ao menos uma comissão para o profissional."); // return true; // }); //} //else //{ // model.Comissao = new NovoMotoristaComissaoModel[] { }; // throw new Exception($"Preencha ao menos uma comissão para o profissional."); //} if (model.VeiculoSelecionado == null || !model.VeiculoSelecionado.Any() || (model.VeiculoSelecionado.Count() == 1 && model.VeiculoSelecionado.FirstOrDefault() == 0)) { throw new Exception($"Preencha ao menos um tipo de veiculo que o motorista possui ou irá utilizar."); } // Modelo entidade var entidade = new ProfissionalCompletoModel() { ID = model.ID, NomeCompleto = model.NomeCompleto, Email = model.Email, CelularWpp = model.CelularWhatsapp, CPF = model.CpfCnpj, TelefoneResidencial = model.TelefoneResidencial, TipoVeiculos = model.VeiculoSelecionado.ToArray(), TelefoneCelular = model.TelefoneCelular, CNH = model.CNH, ContratoCLT = model.TipoRegimeContratacao == RegimeContratacao.CLT ? true : false, Observacao = model.Observacao, TipoCNH = model.TipoCarteiraMotorista, TipoRegime = model.TipoRegimeContratacao, Cep = model.Cep, Rua = model.Rua, Bairro = model.Bairro, Cidade = model.Cidade, Complemento = model.Complemento, EnderecoPrincipal = model.EnderecoPrincipal, PontoReferencia = model.PontoReferencia, RuaNumero = model.RuaNumero, UF = model.UF, DocumentoRG = model.DocumentoRG, Senha = model.Senha != null?CriptografiaUtil.Criptografa(model.Senha, "ch4v3S3m2nt3BHJ0e1tA9u4t4hu1s33r") : null, Status = model.Situacao, Comissoes = new ProfissionalComissaoModel[] { new ProfissionalComissaoModel() { ID = 1, Observacao = "", decPercentualComissao = model.ValorComissao.ToDecimalCurrency(), dtDataFimVigencia = DateTime.Now, dtDataInicioVigencia = DateTime.Now.AddYears(3000) } } }; // Alteração if (model.EdicaoCadastro) { profissionalServico.AtualizaDadosProfissional(entidade); // Atualiza dados do profissional } else { if (string.IsNullOrWhiteSpace(model.Senha)) { throw new Exception($"Na inclusão de um motorista, o campo SENHA é de preenchimento obrigatório."); } profissionalServico.IncluirProfissional(entidade); // Atualiza dados do profissional } this.MensagemSucesso("Profissional atualizado com sucesso."); // Return return(View(new NovoMotoristaModel() { EdicaoCadastro = false, ID = 0, Bairro = "", Senha = "", Email = "", Comissao = new NovoMotoristaComissaoModel[] { MontaComissaoPadrao() } })); } catch (Exception e) { this.TrataErro(e); return(View(model)); } }