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); }
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 }
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)); } }