예제 #1
0
        public IActionResult Logout()
        {
            HttpContext.Session.SetString("GLOBAL_MATRICULA", string.Empty);
            HttpContext.Session.SetString("GLOBAL_NOME", string.Empty);
            HttpContext.Session.SetString("GLOBAL_ADMINISTRADOR", string.Empty);

            Utilitaria.ApagaCookie(Response, Request);

            return(RedirectToAction(nameof(Index)));
        }
        private void btnEnviar_Click(object sender, EventArgs e)
        {
            usuario           = (Usuario)controleUsuario.listarUmPorNome(usuario.UserName);
            codigoVerificacao = Int32.Parse(gerarCodigo());
            int tentativas = 0;

            if (tentativas < 3)
            {
                if (cboxPerguntas.Text.Length > 0 && cboxPerguntas.Text != "Selecione uma pergunta")
                {
                    if (txtResposta.Text.Length > 0)
                    {
                        if (txtResposta.Text == usuario.Resposta)
                        {
                            usuario.CodVerificacao = codigoVerificacao;
                            controleUsuario.atualizar(usuario, (int)usuario.Id);
                            Utilitaria.enviarEmailRecuperacao(usuario.Email, codigoVerificacao);
                            FrmRecuperacaoSenha2 recuparacao2 = new FrmRecuperacaoSenha2(usuario, codigoVerificacao, login);
                            this.Hide();
                            this.Dispose();
                            recuparacao2.ShowDialog();
                        }
                        else
                        {
                            tentativas++;
                            MessageBox.Show("A resposta não é essa. Você tem mais " + (3 - tentativas) + " tentativas. Digite a resposta de segurança correta", "Resposta incorreta", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            controleUsuario = new CrudUsuario();
                            txtResposta.Clear();
                            txtResposta.Select();
                        }
                    }
                    else
                    {
                        MessageBox.Show("O campo 'Resposta' não pode estar em branco", "Campos em branco", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        controleUsuario = new CrudUsuario();
                        txtResposta.Select();
                    }
                }
                else
                {
                    MessageBox.Show("Escolha a pergunta de segurança correta", "Escolha da pergunta", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    controleUsuario = new CrudUsuario();
                    cboxPerguntas.Select();
                }
            }
            else
            {
                MessageBox.Show("Por questão de segurança seu acesso será bloqueado. Consulte o suporte para obter ajuda!", "Suas tentativas acabaram", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Application.Exit();
            }
        }
예제 #3
0
        private void BtnEnviar_Click(object sender, EventArgs e)
        {
            if (tentativas < 3)
            {
                if (validaCampos())
                {
                    if (txtConfirma.Text == txtSenha.Text)
                    {
                        if (codigoVerificacao == Int32.Parse(txtCodVerificacao.Text))
                        {
                            if (txtCodVerificacao.Text == codigoVerificacao.ToString())
                            {
                                //frmLogin login = new frmLogin();
                                //usuario = GerenciadorDeAcesso.preencherUsuario(cliente);
                                usuario.Senha = Utilitaria.criptografarSenha(txtSenha.Text);
                                controleUsuario.atualizar(usuario, (int)usuario.Id);
                                //using (var login = new Login()){}
                                DialogResult resul = MessageBox.Show("Senha atualizada com sucesso!", "Atualização de senha", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                if (resul.Equals(DialogResult.OK))
                                {
                                    this.Dispose();
                                    login.txtSenha.Select();
                                    login.ShowDialog();
                                }
                            }
                            else
                            {
                                tentativas++;
                                MessageBox.Show("A resposta não é essa. Você tem mais " + (3 - tentativas) + " tentativas. Digite a resposta de segurança");
                                txtCodVerificacao.Select();
                            }
                        }
                        else
                        {
                            MessageBox.Show("O código de verificação está errado!");
                            txtConfirma.Select();
                        }
                    }
                    else
                    {
                        MessageBox.Show("As senhas são diferentes. Digite a mesma senha para confirmar");
                        txtConfirma.Select();
                    }
                }
            }

            else
            {
                MessageBox.Show("Consulte o Administrador do sistema para obter ajuda.", "Erro!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #4
0
        public IActionResult Index(IFormCollection collection)
        {
            List <Colaborador> colaboradores = new List <Colaborador>();
            Colaborador        colaborador   = null;

            if (System.IO.File.Exists(_pathColaborador))
            {
                using (StreamReader sr = new StreamReader(_pathColaborador))
                {
                    colaboradores = JsonConvert.DeserializeObject <List <Colaborador> >(sr.ReadToEnd());
                }

                colaborador = colaboradores.Where(_ => _.Matricula.Equals(collection["matricula"])).FirstOrDefault();
            }

            if (colaborador != null)
            {
                HttpContext.Session.SetString("GLOBAL_MATRICULA", colaborador.Matricula);
                HttpContext.Session.SetString("GLOBAL_NOME", colaborador.Nome);
                HttpContext.Session.SetString("GLOBAL_ADMINISTRADOR", colaborador.Administrador.ToString());
                HttpContext.Session.SetString("GLOBAL_MINUTOS_DIA", "540");
                HttpContext.Session.SetString("GLOBAL_LIMITE_DIA", "10");

                Config config = new Config();

                if (System.IO.File.Exists(_pathConfig))
                {
                    using (StreamReader sr = new StreamReader(_pathConfig))
                    {
                        config = JsonConvert.DeserializeObject <Config>(sr.ReadToEnd());
                    }

                    if (config != null)
                    {
                        HttpContext.Session.SetString("GLOBAL_MINUTOS_DIA", (config.HorasDia * 60).ToString());
                        HttpContext.Session.SetString("GLOBAL_LIMITE_DIA", config.LimiteAjuste.ToString());
                    }
                }

                Utilitaria.CarregaCookie(Response, HttpContext.Session);

                return(RedirectToAction(nameof(Index), "Consolidado"));
            }
            else
            {
                ViewBag.MensagemAlerta = "Acesso inválido!";
            }

            return(View());
        }
예제 #5
0
        public void OnActionExecuting(ActionExecutingContext context)
        {
            bool lVerificaSessao = true;

            if (context.ActionDescriptor.DisplayName.Contains("HomeController.Index"))
            {
                lVerificaSessao = false;
            }

            if (lVerificaSessao)
            {
                if (!Utilitaria.VerificaCookie(context.HttpContext.Request, context.HttpContext.Session))
                {
                    context.Result = new RedirectToRouteResult(new RouteValueDictionary(new { action = "Index", controller = "Home" }));
                }
            }
        }