Example #1
0
        // This method must be thread-safe since it is called by the thread-safe OnCacheAuthorization() method.
        protected virtual bool AuthorizeCore(HttpContextBase httpContext)
        {
            if (httpContext == null)
            {
                throw new ArgumentNullException("httpContext");
            }

            EtramitePrincipal user = httpContext.User as EtramitePrincipal;

            if (user == null)
            {
                return(false);
            }

            if (!user.Identity.IsAuthenticated)
            {
                return(false);
            }

            if (Tipo == ePermiteTipo.Logado)
            {
                return(true);
            }

            bool permite = false;

            if (_rolesSplit.Length > 0 && _rolesSplit.Any(user.IsInRole))
            {
                permite |= true;
            }

            return(permite);
        }
Example #2
0
        public static void Deslogar(string login = null, bool isDeslogarForcado = false)
        {
            if (login == null && HttpContext.Current.User == null && !(HttpContext.Current.User is EtramitePrincipal))
            {
                return;
            }

            AutenticacaoExecutor executor = new AutenticacaoExecutor();

            executor.Tipo = (int)eExecutorTipo.Interno;            //Executor Interno
            UsuarioBus busUsuario = new UsuarioBus(HistoricoAplicacao.INTERNO);

            if (HttpContext.Current.User != null && (HttpContext.Current.User is EtramitePrincipal))
            {
                EtramitePrincipal user = (HttpContext.Current.User as EtramitePrincipal);
                login              = user.EtramiteIdentity.Login;
                executor.Tid       = user.EtramiteIdentity.FuncionarioTid;
                executor.UsuarioId = user.EtramiteIdentity.UsuarioId;
            }
            else
            {
                Funcionario funcionario = _busFunc.ObterFuncionarioExecutor(login);
                executor.Tid       = funcionario.Tid;
                executor.UsuarioId = funcionario.Usuario.Id;
            }

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
            {
                bancoDeDados.IniciarTransacao();
                busUsuario.Deslogar(login, executor, isDeslogarForcado, bancoDeDados);
                _busFunc.Deslogar(login, bancoDeDados);

                bancoDeDados.Commit();
            }
        }
Example #3
0
        public static void CarregarUser(string login, string sessionId = null)
        {
            if (HttpContext.Current.User == null || !(HttpContext.Current.User is EtramitePrincipal))
            {
                if (!String.IsNullOrEmpty(sessionId))
                {
                    if (VerificarDeslogar(login, sessionId))
                    {
                        HttpContext.Current.User = null;
                        return;
                    }
                }

                Funcionario funcionario = _busFunc.ObterFuncionarioAutenticacao(login);

                ePermissao[] arrayPerm = funcionario.Permissoes.Select(x => x.Codigo).ToArray();

                EtramiteIdentity userIndentity = new EtramiteIdentity(funcionario.Nome, funcionario.Usuario.Login, funcionario.Email,
                                                                      funcionario.Usuario.DataUltimoLogon, funcionario.Usuario.IpUltimoLogon, funcionario.Id, funcionario.Tipo,
                                                                      funcionario.TipoTexto, funcionario.Tid, funcionario.Usuario.Id, (int)eExecutorTipo.Interno);

                EtramitePrincipal userPrincipal = new EtramitePrincipal <ePermissao>(userIndentity, arrayPerm);
                HttpContext.Current.User = userPrincipal;
            }

            if (HttpContext.Current.User.Identity.IsAuthenticated)
            {
                UsuarioBus busUsuario = new UsuarioBus(HistoricoAplicacao.INTERNO);
                busUsuario.SalvarDataUltimaAcao(login);
            }
        }
Example #4
0
        private void assertNormalLoginBehavior(String login, String senha)
        {
            var result = testController.LogOn(login, senha, null, null, null, null) as RedirectToRouteResult;

            EtramitePrincipal user     = HttpContext.Current.User as EtramitePrincipal;
            EtramiteIdentity  identity = user.Identity as EtramiteIdentity;

            Assert.AreEqual(login, identity.Login);
            Assert.AreEqual("Index", result.RouteValues["action"]);
            Assert.AreEqual("Home", result.RouteValues["controller"]);
        }
Example #5
0
        internal static AutenticacaoExecutor ObterAutenticacaoExecutor()
        {
            if (HttpContext.Current.User == null || !(HttpContext.Current.User is EtramitePrincipal))
            {
                return(null);
            }

            AutenticacaoExecutor executor = new AutenticacaoExecutor();

            EtramitePrincipal user = (HttpContext.Current.User as EtramitePrincipal);

            executor.Tipo      = (int)eExecutorTipo.Interno;
            executor.UsuarioId = user.EtramiteIdentity.UsuarioId;
            executor.Tid       = user.EtramiteIdentity.FuncionarioTid;

            return(executor);
        }
        public static void CarregarUser(string login, string sessionId = null)
        {
            if (HttpContext.Current.User == null || !(HttpContext.Current.User is EtramitePrincipal))
            {
                if (!String.IsNullOrEmpty(sessionId))
                {
                    if (VerificarDeslogar(login, sessionId))
                    {
                        HttpContext.Current.User = null;
                        return;
                    }
                }

                CredenciadoPessoa credenciado = _busCred.ObterCredenciadoAutenticacao(login);

                VerificarAtivo(credenciado);

                ePermissao[] arrayPerm = credenciado.Permissoes.Select(x => x.Codigo).ToArray();

                EtramiteIdentity userIndentity = new EtramiteIdentity(credenciado.Nome, credenciado.Usuario.Login, credenciado.Email,
                                                                      credenciado.Usuario.DataUltimoLogon, credenciado.Usuario.IpUltimoLogon, credenciado.Id, credenciado.Tipo, credenciado.TipoTexto, credenciado.Tid, credenciado.Usuario.Id, 2);

                EtramitePrincipal userPrincipal = new EtramitePrincipal <ePermissao>(userIndentity, arrayPerm);
                HttpContext.Current.User = userPrincipal;
            }

            if (HttpContext.Current.User.Identity.IsAuthenticated)
            {
                UsuarioBus busUsuario = new UsuarioBus(HistoricoAplicacao.CREDENCIADO, UsuarioCredenciado);

                using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado))
                {
                    bancoDeDados.IniciarTransacao();
                    busUsuario.SalvarDataUltimaAcao(login, bancoDeDados);
                    bancoDeDados.Commit();
                }
            }
        }