Exemplo n.º 1
0
        public override void OnAuthorization(HttpActionContext filterContext)
        {
            if (!Ativo)
            {
                return;
            }

            var servicoAutenticacao = new ServiceAutenticacao();

            var token = servicoAutenticacao.ObterTokenCabecalho(filterContext.Request);

            if (servicoAutenticacao.Autenticar(token) != null)
            {
                var principal = servicoAutenticacao.CriarIdentidadePrincipal(token);
                if (Autorizar(token, principal))
                {
                    filterContext.RequestContext.Principal = principal;
                    Thread.CurrentPrincipal = principal;
                }
                else
                {
                    AcessoNaoAutorizado(filterContext);
                }
            }
            else
            {
                AcessoNaoAutorizado(filterContext);
            }
        }