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