public bool ValidarAssinaturaEletronica(string pAssinaturaEletronica) { try { IServicoSeguranca lServicoSeguranca = InstanciarServico <IServicoSeguranca>(); MensagemResponseBase lResponse = lServicoSeguranca.ValidarAssinaturaEletronica(new ValidarAssinaturaEletronicaRequest() { AssinaturaEletronica = Criptografia.CalculateMD5Hash(pAssinaturaEletronica), CodigoSessao = UsuarioLogado.CodigoDaSessao, }); DisporServico(lServicoSeguranca); if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK) { return(true); } else { return(false); } } catch (Exception ex) { Logger.ErrorFormat("Erro [{0}] em PaginaBase.ValidarAssinaturaEletronica()\r\n >>Stack:\r\n{1}" , ex.Message , ex.StackTrace); return(false); } }
public BuscarPermissoesDoUsuarioResponse BuscarPermissoesDoUsuario(BuscarPermissoesDoUsuarioRequest pRequest) { BuscarPermissoesDoUsuarioResponse lReturn = new BuscarPermissoesDoUsuarioResponse(); ServicoHostColecao.Default.CarregarConfig("Desenvolvimento"); IServicoSeguranca lServico = Ativador.Get <IServicoSeguranca>(); ReceberUsuarioRequest lRequest = new ReceberUsuarioRequest(); ReceberUsuarioResponse lResponse; try { lRequest.CodigoUsuario = pRequest.CodigoDoUsuario; lRequest.CodigoSessao = pRequest.CodigoDaSessao; Logger.InfoFormat("BuscarPermissoesDoUsuario(CodigoSessao [{0}], IdLogin [{1}])", lRequest.CodigoSessao, lRequest.CodigoUsuario); lResponse = lServico.ReceberUsuario(lRequest); if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK) { if (lResponse.Usuario != null) { Logger.InfoFormat("Retorno OK do serviço: [{0}] permissões para [{1}])", lResponse.Usuario.Permissoes.Count, lRequest.CodigoUsuario); lReturn.StatusResposta = "OK"; lReturn.Permissoes = lResponse.Usuario.Permissoes; } else { throw new Exception("Serviço não identificou o usuário nessa sessão"); } } else { Logger.ErrorFormat("Retorno com erro do ServicoSeguranca em BuscarPermissoesDoUsuario(CodigoSessao [{0}], IdLogin [{1}]) [{2}] \r\n{3}" , lRequest.CodigoSessao , lRequest.CodigoUsuario , lResponse.StatusResposta , lResponse.DescricaoResposta); lReturn.StatusResposta = "Erro Serviço"; lReturn.DescricaoResposta = lResponse.DescricaoResposta; } } catch (Exception ex) { string lMensagem = string.Format("Exception em BuscarPermissoesDoUsuario: [{0}] \r\n{1}", ex.Message, ex.StackTrace); Logger.ErrorFormat(lMensagem); lReturn.StatusResposta = "Exception"; lReturn.DescricaoResposta = lMensagem; } return(lReturn); }
public SegurancaServico() { try { gServicoSeguranca = Ativador.Get <IServicoSeguranca>(); } catch (Exception ex) { throw (ex); } }
protected void Session_End(object sender, EventArgs e) { if (Session["CodigoSessao"] != null && Session["CodigoSessao"].ToString() != string.Empty) { IServicoSeguranca seguranca = (IServicoSeguranca)Application["ServicoSeguranca"]; //Ativador.Get<IServicoSeguranca>(); string codigoSessao = Session["CodigoSessao"].ToString(); try { seguranca.EfetuarLogOut(new OMS.Library.MensagemRequestBase() { CodigoSessao = codigoSessao }); } catch (Exception ex) { string x = ex.Message; Ativador.AbortChannel(seguranca); Application["ServicoSeguranca"] = null; } } }
private string ResponderLogout() { IServicoSeguranca lServicoSeguranca = this.InstanciarServico <IServicoSeguranca>(); MensagemResponseBase lResponse = lServicoSeguranca.EfetuarLogOut(new MensagemRequestBase() { CodigoSessao = this.CodigoSessao }); DisporServico(lServicoSeguranca); if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK) { Session.Clear(); ///RedirecionarPara("../Login.aspx"); //Response.Redirect() return(CONST_RESPOSTA_JA_ENVIADA_PELA_FUNCAO); } else { return(RetornarErroAjax(lResponse.DescricaoResposta)); } }
public string RealizarLogout(string pCodigoDaSessao) { IServicoSeguranca lServicoSeguranca = this.InstanciarServico <IServicoSeguranca>(); MensagemResponseBase lResponse = lServicoSeguranca.EfetuarLogOut(new MensagemRequestBase() { CodigoSessao = pCodigoDaSessao }); DisporServico(lServicoSeguranca); if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK) { this.UsuariosLogados.Remove(UsuarioLogado.IdDoUsuarioTipoInt); Session.Clear(); return(RetornarSucessoAjax("ok")); } else { return(RetornarErroAjax(lResponse.DescricaoResposta)); } }
/// <summary> /// Solicita o processamento dos comandos de interface. Verifica os comandos permitidos e retorna /// a árvore. /// </summary> /// <param name="parametros"></param> /// <returns></returns> public ReceberArvoreComandosInterfaceResponse ReceberArvoreComandosInterface(ReceberArvoreComandosInterfaceRequest parametros) { // Referencia para o servico de seguranca IServicoSeguranca servicoSeguranca = Ativador.Get <IServicoSeguranca>(); // Prepara a resposta ReceberArvoreComandosInterfaceResponse resposta = new ReceberArvoreComandosInterfaceResponse() { CodigoMensagemRequest = parametros.CodigoMensagem, CodigoGrupoComandoInterface = parametros.CodigoGrupoComandoInterface }; // Pega grupo de comandos ReceberGrupoComandoInterfaceResponse respostaReceber = this.ReceberGrupoComandoInterface( new ReceberGrupoComandoInterfaceRequest() { CodigoSessao = parametros.CodigoSessao, CodigoGrupoComandoInterface = parametros.CodigoGrupoComandoInterface }); // Transforma a árvore de comandos em lista List <ComandoInterfaceInfo> listaComandos = respostaReceber.GrupoComandoInterface.ListarComandos(); // Cria lista indicando quais comandos são grupo List <string> listaGrupos = (from c in listaComandos where c.Filhos.Count > 0 select c.CodigoComandoInterface).ToList(); // Salva o código do item na tag da segurança para enviar para validação foreach (ComandoInterfaceInfo item in listaComandos) { item.Seguranca.Tag = item.CodigoComandoInterface; } // Cria lista de itens de seguranca a validar List <ItemSegurancaInfo> itensSeguranca = (from c in listaComandos select c.Seguranca).ToList(); // Solicita validação dos itens ValidarItemSegurancaResponse respostaValidacao = servicoSeguranca.ValidarItemSeguranca( new ValidarItemSegurancaRequest() { CodigoSessao = parametros.CodigoSessao, ItensSeguranca = itensSeguranca }); // Cria dicionario com os itens validados para reassociar aos comandos Dictionary <string, ItemSegurancaInfo> dicionarioItens = new Dictionary <string, ItemSegurancaInfo>(); foreach (ItemSegurancaInfo item in respostaValidacao.ItensSeguranca) { dicionarioItens.Add(item.Tag, item); } // Reassocia itens de segurança validado aos comandos foreach (ComandoInterfaceInfo comando in listaComandos) { if (dicionarioItens.ContainsKey(comando.CodigoComandoInterface)) { comando.Seguranca = dicionarioItens[comando.CodigoComandoInterface]; } } // Cria dicionário de pais e filhos // O dicionário está montado como codigoFilho, codigoPai Dictionary <string, ComandoInterfaceInfo> dicionarioPaisFilhos = new Dictionary <string, ComandoInterfaceInfo>(); foreach (ComandoInterfaceInfo comandoPai in listaComandos) { foreach (ComandoInterfaceInfo comandoFilho in comandoPai.Filhos) { dicionarioPaisFilhos.Add(comandoFilho.CodigoComandoInterface, comandoPai); } } // Remove os não válidados pela segurança List <ComandoInterfaceInfo> comandosRemover = (from c in listaComandos where !c.Seguranca.Valido.HasValue || c.Seguranca.Valido.Value == false select c).ToList(); foreach (ComandoInterfaceInfo comandoRemover in comandosRemover) { if (dicionarioPaisFilhos.ContainsKey(comandoRemover.CodigoComandoInterface)) { dicionarioPaisFilhos[comandoRemover.CodigoComandoInterface].Filhos.Remove(comandoRemover); } else { respostaReceber.GrupoComandoInterface.ComandosInterfaceRaiz.Remove(comandoRemover); } } // Remover os menus de grupo que não tem filhos List <ComandoInterfaceInfo> comandosRemover2 = (from c in listaComandos where listaGrupos.Contains(c.CodigoComandoInterface) && c.Filhos.Count == 0 select c).ToList(); foreach (ComandoInterfaceInfo comandoRemover in comandosRemover2) { if (dicionarioPaisFilhos.ContainsKey(comandoRemover.CodigoComandoInterface)) { dicionarioPaisFilhos[comandoRemover.CodigoComandoInterface].Filhos.Remove(comandoRemover); } else { respostaReceber.GrupoComandoInterface.ComandosInterfaceRaiz.Remove(comandoRemover); } } // Retorna a arvore resposta.ComandosInterfaceRaiz = respostaReceber.GrupoComandoInterface.ComandosInterfaceRaiz; // Retorna return(resposta); }
private string ResponderEfetuarLogin() { string lRetorno; string lUsuario, lSenha; lUsuario = Request.Form["Usuario"]; lSenha = Request.Form["Senha"]; if (string.IsNullOrEmpty(lUsuario)) { lRetorno = RetornarErroAjax("Campo 'Usuário' é obrigatório"); } else if (string.IsNullOrEmpty(lSenha)) { lRetorno = RetornarErroAjax("Campo 'Senha' é obrigatório"); } else { AutenticarUsuarioResponse lResponseAutenticacao = null; try { this.LimparSessionsDoSistema(); AutenticarUsuarioRequest lRequestAuth = new AutenticarUsuarioRequest() { Email = lUsuario, // Admin Senha = Criptografia.CalculateMD5Hash(lSenha), //123 IP = Request.ServerVariables["REMOTE_ADDR"], CodigoSistemaCliente = "Intranet" }; IServicoSeguranca lServico = this.ServicoSeguranca; lResponseAutenticacao = lServico.AutenticarUsuario(lRequestAuth); if (lResponseAutenticacao.StatusResposta != MensagemResponseStatusEnum.OK) { return(RetornarErroAjax(lResponseAutenticacao.DescricaoResposta)); } this.CodigoSessao = lResponseAutenticacao.Sessao.CodigoSessao; } catch (Exception ex) { return(RetornarErroAjax(ex.Message)); } var lRetornoSessao = ServicoSeguranca.ReceberSessao(new ReceberSessaoRequest() { CodigoSessao = this.CodigoSessao, CodigoSessaoARetornar = this.CodigoSessao, }); this.Session["Usuario"] = new Usuario() { Id = lRetornoSessao.Usuario.CodigoUsuario.DBToInt32(), Nome = lRetornoSessao.Usuario.Nome, EmailLogin = lUsuario, EhAdministrador = lResponseAutenticacao != null ? lResponseAutenticacao.Sessao.EhSessaoDeAdministrador : false, Perfis = lRetornoSessao.Usuario.Perfis }; lRetorno = base.RetornarSucessoAjax("Intranet/Default.aspx"); } return(lRetorno); }
public void btnAutenticar_Click(object sender, EventArgs args) { string lUsuario, lSenha; lUsuario = txtLogin.Text; lSenha = txtSenha.Text; string lRetorno = string.Empty; AutenticarUsuarioRequest lRequestAutenticacao; AutenticarUsuarioResponse lResponseAutenticacao; ReceberSessaoRequest lRequestSessao; ReceberSessaoResponse lResponseSessao; IServicoSeguranca lServicoSeguranca = this.InstanciarServico <IServicoSeguranca>(); lRequestAutenticacao = new AutenticarUsuarioRequest(); lRequestAutenticacao.Email = lUsuario; lRequestAutenticacao.Senha = Criptografia.CalculateMD5Hash(lSenha); lRequestAutenticacao.IP = Request.ServerVariables["REMOTE_ADDR"]; lRequestAutenticacao.CodigoSistemaCliente = "InvXX"; lResponseAutenticacao = lServicoSeguranca.AutenticarUsuario(lRequestAutenticacao); if (lResponseAutenticacao.StatusResposta != Gradual.OMS.Library.MensagemResponseStatusEnum.OK) { //lRetorno = RetornarErroAjax(lResponseAutenticacao.DescricaoResposta); Response.Write("<script LANGUAGE='JavaScript' >alert('" + lResponseAutenticacao.DescricaoResposta + "')</script>"); return; } lRequestSessao = new ReceberSessaoRequest(); lRequestSessao.CodigoSessaoARetornar = lResponseAutenticacao.Sessao.CodigoSessao; lRequestSessao.CodigoSessao = lResponseAutenticacao.Sessao.CodigoSessao; Session["CodigoSessao"] = lResponseAutenticacao.Sessao.CodigoSessao; lResponseSessao = lServicoSeguranca.ReceberSessao(lRequestSessao); base.UsuarioLogado = new Usuario() { CodigoDaSessao = lResponseAutenticacao.Sessao.CodigoSessao , IdDoUsuario = lResponseSessao.Usuario.Complementos.ReceberItem <ContextoOMSInfo>().CodigoCBLC , Nome = lResponseSessao.Usuario.Nome , TipoAcesso = (TipoAcesso)Enum.Parse(typeof(TipoAcesso), lResponseSessao.Usuario.CodigoTipoAcesso.ToString()) , CodAssessor = lResponseSessao.Usuario.CodigoAssessor , IdLogin = int.Parse(lResponseSessao.Sessao.CodigoUsuario) }; base.UsuarioLogado.IdDoUsuario = lResponseSessao.Sessao.CodigoUsuario; base.UsuarioLogado.CodBovespa = base.UsuarioLogado.IdDoUsuario; if (this.UsuarioLogado.CodBovespaTipoInt == 31940) { this.UsuarioLogado.CodBmf = 31217; } DisporServico(lServicoSeguranca); Response.Redirect("default.aspx?guid=" + lResponseSessao.Sessao.CodigoSessao); }
public Form1() { InitializeComponent(); ServicoHostColecao.Default.CarregarConfig("Default"); servicoSeguranca = Ativador.Get <IServicoSeguranca>(); }