Exemple #1
0
 public bool Criar(Usuario usuario)
 {
     usuario.Senha = CriptografiaMD5.RetorneMD5(usuario.Senha);
     _prodapDbContext.Usuarios.Add(usuario);
     _prodapDbContext.SaveChanges();
     return(true);
 }
Exemple #2
0
        /// <summary>
        /// Alterar senha usuário corrente (logado).
        /// </summary>
        public static void AtualizarSenhaUsuarioLogado(string senhaAtual, string novaSenha, ColecaoPersistencia colecao)
        {
            if ((!string.IsNullOrEmpty(senhaAtual) && string.IsNullOrEmpty(novaSenha)) ||
                (!string.IsNullOrEmpty(novaSenha) && string.IsNullOrEmpty(senhaAtual)))
            {
                throw new Usuario.Excessoes.AlterarSenhaDadosIncompletosException("Não foi possível Alterar a senha, dados incompletos.");
            }

            if (!string.IsNullOrEmpty(senhaAtual) && !string.IsNullOrEmpty(novaSenha))
            {
                ObjUsuario usuario = UsuarioCorrenteSingleton.Istance.Usuario;

                Criptografia.Criptografia criptografia = new CriptografiaMD5();
                senhaAtual = criptografia.Criptografar(senhaAtual);

                if (senhaAtual.Equals(usuario.Senha))
                {
                    novaSenha     = criptografia.Criptografar(novaSenha);
                    usuario.Senha = novaSenha;
                    colecao.AdicionarItem(usuario, Persistence.Enumeradores.EnumTipoTransacao.Alterar);
                }
                else
                {
                    throw new Usuario.Excessoes.SenhaInvalidaException("A senha informada não confere.");
                }
            }
        }
Exemple #3
0
 public Usuario BuscarUsuarioPorNomeSenha(string nome, string senha)
 {
     senha = CriptografiaMD5.RetorneMD5(senha);
     return(_prodapDbContext.Usuarios
            .Where(x => x.Senha == senha && x.Nome == nome)?
            .Select(s => new Usuario
     {
         Id = s.Id,
         Nome = s.Nome
     }).FirstOrDefault());
 }
Exemple #4
0
        internal void Autenticar(string senha)
        {
            CriptografiaMD5 criptografia = new CriptografiaMD5();

            if (!criptografia.Comparar(senha, this.Senha))
            {
                throw new SenhaInvalidaException(Erros.MsgSenhaInvalida);
            }
            else
            {
                this._autenticado = true;
            }
        }
Exemple #5
0
        public IHttpActionResult DoLogin(Usuario usuario)
        {
            string  senhaEncrypt = CriptografiaMD5.GerarHashMd5(usuario.Senha);
            Usuario user         = db.Usuarios.Where(a => a.Email == usuario.Email && a.Senha == senhaEncrypt).FirstOrDefault();

            if (user != null)
            {
                return(Ok(user));
            }
            else
            {
                return(BadRequest("Usuário ou senha Incorreto"));
            }
        }
Exemple #6
0
        public static void Manter(int id, string login, string senha, TipoUsuario tipo, string avatar, ColecaoPersistencia colecao)
        {
            ObjUsuario usuario = new ObjUsuario();

            if (id > 0)
            {
                usuario.Materializar(id);
            }

            bool existeAlteracoes = false;

            if (!String.IsNullOrEmpty(login) && !usuario.Login.Equals(login))
            {
                usuario.Login    = login;
                existeAlteracoes = true;
            }

            Criptografia.Criptografia criptografia = new CriptografiaMD5();
            string senhaCriptografada = criptografia.Criptografar(senha);

            if (!String.IsNullOrEmpty(senha) && !usuario.Senha.Equals(senhaCriptografada))
            {
                usuario.Senha    = senhaCriptografada;
                existeAlteracoes = true;
            }

            if (!usuario.Tipo.Equals(tipo))
            {
                usuario.Tipo     = tipo;
                existeAlteracoes = true;
            }

            if (!String.IsNullOrEmpty(avatar) && !usuario.Avatar.Equals(avatar))
            {
                usuario.Avatar   = avatar;
                existeAlteracoes = true;
            }

            if (existeAlteracoes)
            {
                if (usuario.ID > 0)
                {
                    colecao.AdicionarItem(usuario, Persistence.Enumeradores.EnumTipoTransacao.Alterar);
                }
                else
                {
                    colecao.AdicionarItem(usuario, Persistence.Enumeradores.EnumTipoTransacao.Incluir);
                }
            }
        }
Exemple #7
0
        public IHttpActionResult PostUsuario(Usuario usuario)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            usuario.Guid        = Guid.NewGuid(); //GUID para lógica da recuperação de senha via email
            usuario.PermissaoId = 2;              //Permissão de Usuário normal
            usuario.Senha       = CriptografiaMD5.GerarHashMd5(usuario.Senha);
            db.Usuarios.Add(usuario);
            db.SaveChanges();

            CriarConta(usuario.Id);

            return(CreatedAtRoute("DefaultApi", new { id = usuario.Id }, usuario));
        }
Exemple #8
0
        // método para ler e imprimir os dados do usuário
        public void Executar()
        {
            try
            {
                // instânciando a entidade Usuario
                var u = new Usuario();

                //definindo um ID para o usuário
                u.IdUsuario = Guid.NewGuid();

                Console.Write("\n Informe seu login: "******"\n Escolha [1]MD5 ou [2]SHA1: ");
                int opcao = int.Parse(Console.ReadLine());

                ICriptografia c = null;

                switch (opcao)
                {
                case 1:
                    c = new CriptografiaMD5();    //polimorfismo
                    break;

                case 2:
                    c = new CriptografiaSHA1();    //polimorfismo
                    break;

                default:
                    Console.WriteLine("Valor incorreto !");
                    break;
                }

                Console.Write("\n Informe a sua senha: ");
                u.Senha = c.Encriptar(Console.ReadLine());

                Console.WriteLine("\n ----- INFORMAÇÕES DO USUÁRIO -----");
                Console.Write("\n ID:" + u.IdUsuario);
                Console.Write("\n Usuario :" + u.Login);
                Console.Write("\n Senha: " + u.Senha);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Erro: " + ex.Message);
            }
        }
Exemple #9
0
        public PartialViewResult AlterarSenha(AlteracaoSenhaViewModel alteracao)
        {
            _repositorio = new Repositorio <Usuario>();
            var usuarioDb = _repositorio.Get.FirstOrDefault(u => u.Email == Cookie.GetValorUsuarioLogado());
            var criptoMd5 = new CriptografiaMD5();

            if (!String.Equals(usuarioDb.Senha, criptoMd5.Criptografar(alteracao.SenhaAtual)))
            {
                ViewBag.MensagemAlteracaoSenha = "Senha Atual Invalida";
                return(PartialView("_AlterarSenha", new AlteracaoSenhaViewModel()));
            }
            else if (!String.Equals(alteracao.NovaSenha, alteracao.RepeticaoNovaSenha))
            {
                ViewBag.MensagemAlteracaoSenha = "As Senhas Não Conferem";
                return(PartialView("_AlterarSenha", new AlteracaoSenhaViewModel()));
            }
            usuarioDb.Senha = criptoMd5.Criptografar(alteracao.NovaSenha);
            _repositorio.Editar(usuarioDb);
            ViewBag.MensagemAlteracaoSenha = "True";
            return(PartialView("_AlterarSenha", new AlteracaoSenhaViewModel()));
        }
        public ActionResult AdicionarUsuario(UsuarioLoja usuarioLoja)
        {
            #region validacao usuario logado

            //se a sessão de usuário não estiver preenchida, direciona para a tela de login
            if (Session["UsuarioLogado"] == null)
            {
                return(RedirectToAction("Index", "Login"));
            }

            //recebe o usuário logado
            usuarioLogado = (UsuarioLoja)(Session["UsuarioLogado"]);

            #endregion

            #region limpa as viewbags de mensagem

            ViewBag.MensagemCadUsuario = null;

            #endregion

            #region validação dos campos

            //validação dos campos
            if (!ModelState.IsValid)
            {
                return(View("Adicionar", usuarioLoja));
            }

            #endregion

            //variável para armazenar a senha original
            string senhaSemCrip = null;

            DadosRequisicaoRest retornoRequest = new DadosRequisicaoRest();

            try
            {
                string urlPost = "/Usuario/Cadastrar/UsuarioLoja/" + usuarioLogado.UrlLoja;

                //variável para armazenar a senha original
                senhaSemCrip = usuarioLoja.Senha;

                //criptografa a senha do usuário
                usuarioLoja.Senha = CriptografiaMD5.GerarHashMd5(usuarioLoja.Senha);

                usuarioLoja.IdLoja = usuarioLogado.IdLoja;
                retornoRequest     = rest.Post(urlPost, usuarioLoja);

                if (retornoRequest.HttpStatusCode == HttpStatusCode.Unauthorized)
                {
                    usuarioLoja.Senha          = senhaSemCrip;
                    ViewBag.MensagemCadUsuario = "Já existe um usuário com este e-mail. Por favor, verifique os dados digitados";
                    return(View("Adicionar", usuarioLoja));
                }

                if (retornoRequest.HttpStatusCode != HttpStatusCode.Created)
                {
                    usuarioLoja.Senha          = senhaSemCrip;
                    ViewBag.MensagemCadUsuario = "Não foi possivel cadastrar o usuário. Por favor, tente novamente ou entre em contato com nosso suporte.";
                    return(View("Adicionar", usuarioLoja));
                }

                return(RedirectToAction("Index", "Usuario"));
            }
            catch (Exception)
            {
                usuarioLoja.Senha          = senhaSemCrip;
                ViewBag.MensagemCadUsuario = "Não foi possivel cadastrar o usuário. Por favor, tente novamente ou entre em contato com nosso suporte.";
                return(View("Adicionar", usuarioLoja));
            }
        }
        public ActionResult EditarUsuario(UsuarioLoja usuarioLoja)
        {
            #region validacao usuario logado

            //se a sessão de usuário não estiver preenchida, direciona para a tela de login
            if (Session["UsuarioLogado"] == null)
            {
                return(RedirectToAction("Index", "Login"));
            }

            //recebe o usuário logado
            usuarioLogado = (UsuarioLoja)(Session["UsuarioLogado"]);

            #endregion

            #region limpa as viewbags de mensagem

            ViewBag.MensagemEditarUsuario = null;

            #endregion

            #region validação dos campos

            //validação dos campos
            if (!ModelState.IsValid)
            {
                return(View("Editar", usuarioLoja));
            }

            #endregion

            //variável para armazenar a senha original
            string senhaSemCrip = null;

            //variável para armazenar o retorno da requisição
            DadosRequisicaoRest retornoRequest = new DadosRequisicaoRest();

            try
            {
                string urlPost = string.Format("/Usuario/AtualizarUsuarioLoja");

                //variável para armazenar a senha original
                senhaSemCrip = usuarioLoja.Senha;

                //criptografa a senha do usuário
                usuarioLoja.Senha = CriptografiaMD5.GerarHashMd5(usuarioLoja.Senha);

                usuarioLoja.IdLoja = usuarioLogado.IdLoja;
                retornoRequest     = rest.Post(urlPost, usuarioLoja);

                if (retornoRequest.HttpStatusCode != HttpStatusCode.OK)
                {
                    usuarioLoja.Senha             = senhaSemCrip;
                    ViewBag.MensagemEditarUsuario = retornoRequest.objeto.ToString();
                    return(View("Editar", usuarioLoja));
                }

                return(RedirectToAction("Index", "Usuario"));
            }
            catch (Exception)
            {
                usuarioLoja.Senha             = senhaSemCrip;
                ViewBag.MensagemEditarUsuario = "Não foi possível atualizar o usuario. Por favor, tente novamente ou entre em contato com nosso suporte.";
                return(View("Editar", usuarioLoja));
            }
        }
        public ActionResult Autenticar(Usuario usuario)
        {
            //limpa a sessão de mensagem
            //Session["MensagemAutenticacao"] = null;

            #region limpa as viewbags de mensagem

            ViewBag.MensagemAutenticacao = null;

            #endregion

            //captura a loja em questão
            Session["dominioLoja"] = BuscarUrlLoja();

            //se não conseguir capturar a loja, direciona para a tela de erro
            if (Session["dominioLoja"] == null)
            {
                ViewBag.MensagemAutenticacao = "estamos com dificuldade em buscar dados no servidor. por favor, tente atualizar a página";
                return(View("Index", usuario));
            }

            if (string.IsNullOrEmpty(usuario.Email) || string.IsNullOrEmpty(usuario.Senha))
            {
                ViewBag.MensagemAutenticacao = "preencha o login e senha";
                return(View("Index", usuario));
            }


            string dominioLoja = Session["dominioLoja"].ToString();

            DadosRequisicaoRest retornoAutenticacao = new DadosRequisicaoRest();
            DadosRequisicaoRest retornoDadosUsuario = new DadosRequisicaoRest();

            string senha = null;

            try
            {
                senha         = usuario.Senha;
                usuario.Senha = CriptografiaMD5.GerarHashMd5(usuario.Senha);

                string urlPost = string.Format("/usuario/autenticar/{0}/'{1}'", TipoUsuario.Loja, dominioLoja);

                retornoAutenticacao = rest.Post(urlPost, usuario);

                //se o usuário for autenticado, direciona para a tela home
                if (retornoAutenticacao.HttpStatusCode == HttpStatusCode.Accepted)
                {
                    UsuarioLoja usuarioLogado = new UsuarioLoja();

                    try
                    {
                        //busca os dados do usuário
                        retornoDadosUsuario = rest.Post(string.Format("usuario/buscarPorEmail/{0}/{1}", TipoUsuario.Loja, dominioLoja), usuario);

                        //verifica se os dados do usuário foram encontrados
                        if (retornoDadosUsuario.HttpStatusCode != HttpStatusCode.OK)
                        {
                            throw new Exception();
                        }

                        //converte o usuario em objeto e seta a url da loja
                        usuarioLogado         = JsonConvert.DeserializeObject <UsuarioLoja>(retornoDadosUsuario.objeto.ToString());
                        usuarioLogado.UrlLoja = dominioLoja;

                        //armazena o usuário na sessão "usuarioLogado"
                        Session["usuarioLogado"] = usuarioLogado;

                        //limpa a sessão "usuarioLogin"
                        Session["usuarioLogin"] = null;

                        //se for o usuário for admin, direciona para a tela home
                        if (usuarioLogado.NivelPermissao == 1)
                        {
                            return(RedirectToAction("Index", "Home"));
                        }
                        //senão, direciona para a tela de pedidos
                        else
                        {
                            return(RedirectToAction("Index", "Pedido"));
                        }
                    }
                    //se não for possível consultar os dados do usuário
                    catch (Exception)
                    {
                        usuario.Senha = senha;
                        ViewBag.MensagemAutenticacao = "estamos com dificuldade em buscar dados no servidor. por favor, tente novamente";
                        return(View("Index", usuario));
                    }
                }
                else if (retornoAutenticacao.HttpStatusCode == HttpStatusCode.Unauthorized)
                {
                    usuario.Senha = senha;
                    ViewBag.MensagemAutenticacao = "usuário ou senha inválida";
                    return(View("Index", usuario));
                }

                //se for algum outro erro
                else
                {
                    usuario.Senha = senha;
                    ViewBag.MensagemAutenticacao = "não foi possível realizar o login. por favor, tente novamente";
                    return(View("Index", usuario));
                }
            }
            catch (Exception)
            {
                usuario.Senha = senha;
                ViewBag.MensagemAutenticacao = "não foi possível realizar o login. por favor, tente novamente";
                return(View("Index", usuario));
            }
        }