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