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