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