Example #1
0
        public void RetornaFalseCasoNaoDevaSerExibidoAlertaEPTVTest()
        {
            //simula o login
            //foi verificado que não existem alertas para esse usuário
            ControllerContextMock.SetupNormalContext(testController, "stefania.sgulmaro");
            int funcionarioId = (HttpContext.Current.User.Identity as EtramiteIdentity).FuncionarioId;

            PTVBus _bus         = new PTVBus();
            bool   existeAlerta = _bus.VerificaAlertaEPTV();

            Assert.IsFalse(existeAlerta);
        }
Example #2
0
        protected void Application_AuthenticateRequest(object sender, EventArgs e)
        {
            HttpCookie c = Request.Cookies[FormsAuthentication.FormsCookieName];

            if (c == null)
            {
                return;
            }

            FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(c.Value);
            string login     = ticket.Name;
            string sessionId = ticket.UserData;

            GerenciarAutenticacao.CarregarUser(login, sessionId);

            #region Alerta de E-PTV

            HttpCookie cookieEPTV = Request.Cookies["eptv"];
            PTVBus     _bus       = new PTVBus();
            if (cookieEPTV != null)
            {
                if (Convert.ToDateTime(cookieEPTV.Value).AddMinutes(5) <= DateTime.Now)
                {
                    //se já tiver se passado 5 minutos ou mais desde que o valor do cookie foi atualizado
                    //substitui o cookie por um novo, com a data atual, e faz a verificação de alerta de EPTV
                    HttpCookie aCookie = new HttpCookie("eptv");
                    aCookie.Value   = DateTime.Now.ToString();
                    aCookie.Expires = DateTime.Now.AddDays(1);
                    Response.Cookies.Add(aCookie);

                    var usuario = (HttpContext.Current.User as EtramitePrincipal)?.EtramiteIdentity ?? null;
                    _bus.VerificaAlertaEPTV(usuario?.FuncionarioId ?? 0, login);                        //emite o alerta
                }
            }

            #endregion Alerta de E-PTV
        }
Example #3
0
        public ActionResult LogOn(string login, string senha, bool?alterarSenha, string novaSenha, string confirmarNovaSenha, string returnUrl)
        {
            LogonVM viewModel = new LogonVM()
            {
                AlterarSenha = alterarSenha ?? false
            };

            viewModel.IsAjaxRequest = Request.IsAjaxRequest();

            try
            {
                string strSessionId = null;
                if (!GerenciarAutenticacao.ValidarLogOn(login, senha, out strSessionId))
                {
                    if (Request.IsAjaxRequest())
                    {
                        return(PartialView("LogOnPartial", new LogonVM()
                        {
                            IsAjaxRequest = Request.IsAjaxRequest()
                        }));
                    }
                    else
                    {
                        return(View(viewModel));
                    }
                }

                FuncionarioBus busFuncionario  = new FuncionarioBus(new FuncionarioValidar());
                string         alterarSenhaMsg = busFuncionario.AlterarSenhaMensagem(login);

                if (!String.IsNullOrEmpty(alterarSenhaMsg))
                {
                    Validacao.Erros.Clear();

                    if (!viewModel.AlterarSenha || !busFuncionario.AlterarSenha(login, senha, novaSenha, confirmarNovaSenha))
                    {
                        viewModel = new LogonVM()
                        {
                            AlterarSenha = true, AlterarSenhaMsg = alterarSenhaMsg
                        };
                        if (Request.IsAjaxRequest())
                        {
                            return(PartialView("LogOnPartial", new LogonVM()
                            {
                                IsAjaxRequest = Request.IsAjaxRequest()
                            }));
                        }
                        else
                        {
                            return(View(viewModel));
                        }
                    }
                }

                this.formsAuthenticationService.SetAuthCookie(login, true);

                FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, login, DateTime.Now, DateTime.Now.Add(FormsAuthentication.Timeout), true, strSessionId);

                HttpCookie cookie = null;

                String cookieName = this.formsAuthenticationService.FormsCookieName;

                if (cookieName != null)
                {
                    cookie = Request.Cookies[cookieName];
                }

                if (cookie != null)
                {
                    cookie.Value = this.formsAuthenticationService.Encrypt(ticket);
                }

                //Cria o cookie que é usado para a verificação periódica de E-PTVs aguardando análise.
                #region Insere cookie EPTV

                InsereCookieEPTV();

                #endregion Insere cookie EPTV

                GerenciarAutenticacao.CarregarUser(login);

                BusMenu.Menu = null;

                //Gera a mensagem de alerta de E-PTV (se houver)
                #region Alerta de E-PTV

                var    funcionario = new FuncionarioBus().ObterFuncionarioAutenticacao(login);
                PTVBus _busPTV     = new PTVBus();
                _busPTV.VerificaAlertaEPTV(funcionario.Id, login);

                #endregion Alerta de E-PTV

                if (Request.IsAjaxRequest())
                {
                    return(PartialView("LogOnPartial", new LogonVM()
                    {
                        IsAjaxRequest = Request.IsAjaxRequest()
                    }));
                }
                else if (!String.IsNullOrEmpty(returnUrl))
                {
                    return(Redirect(Validacao.QueryParamSerializer(HttpUtility.UrlDecode(returnUrl))));
                }
                else
                {
                    return(RedirectToAction("Index", "Home", Validacao.QueryParamSerializer()));
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            if (Request.IsAjaxRequest())
            {
                return(RedirectToAction("Index", "Home", Validacao.QueryParamSerializer()));
            }
            else
            {
                return(View(viewModel));
            }
        }