none
Lendo valores de um webservice antes dos métodos serem executados.. RRS feed

  • Pergunta

  • pessoal, 

    estou criando um webservice e ele possui diversos métodos com entrada de valores e por questão de segurança quero validar todas as entradas em um método exclusivo que deveria ser executado antes de qualquer método rodar.

    Em páginas .net eu faço isso no global.asax e leio tudo que vem por querystring, form, sessao, etc.. antes de processar qualquer coisa.. No webservice tem algo semelhante para eu capturar tudo que esta sendo enviado ao webservice, antes dele processar qualquer coisa ?

    Obrigado

    terça-feira, 27 de agosto de 2013 14:50

Respostas

  • Então Rafael,

    Pelo visto não como lhe disse é uma aplicação via protocolo http por requisição e eu não nunca vi esse tipo de modalidade, até antes fiz várias pesquisas e não tem mesmo! 

    De qualquer forma serão passados todas as vezes no seu caso as credenciais de acesso!!!



    Fúlvio Cezar Canducci Dias

    • Marcado como Resposta Rafael Metring quarta-feira, 28 de agosto de 2013 14:07
    quarta-feira, 28 de agosto de 2013 13:17

Todas as Respostas

  • bem, pelo que eu entendi, você só precisa criar no webservice um método que valide essas informações no objeto de entrada.

    Caso for válido, você executaria o trabalho do Webservice. Algo semelhante ao Page.IsValid que é utilizado numa página de Webforms.


    A resposta foi útil? Marque-a para que outros possam utiliza-la também!

    terça-feira, 27 de agosto de 2013 17:30
  • Sammael,

    manualmente eu sei como fazer mas o que quero é um método universal que valide todas as entradas sozinha sem eu precisar especificar campo por campo.

    Veja um exemplo 

    function logar(usuario as string,senha as string ) 

    ...

    end function

    function getProdutos(procodigo as string)

    ...

    end function

    Se eu for fazer manualmente eu terei que validar parametro por parametro em cada funcao.

    Eu queria algo do tipo :

    funcao generica-que-vai-executar-sempre ()

    para cada parametro que tenha sido enviado no webservice faca

    se o parametro.contains("xxx")

    interrompe tudo e registra no log..

    end if

    fim funcao

    Tudo bem se eu tiver que chamar a função manualmente dentro de cada método do webservice mas que pelo menos ela seja capaz de ler todos os parametros enviados sem que eu precise passar manualmente

    como eu faria hoje 

    funcao logar(login as string,senha as string)

    if validar(login,senha)= false

    return false

    end if 

    como eu queria

    funcao logar(login as string,senha as string)

    if validar()= false

    return false

    end if 

    terça-feira, 27 de agosto de 2013 18:45
  • Rafael,

    O WebService trabalha por requisições http (WCF com mais protocolos) mas, basicamente você tem que passar todas as vezes os atributos dos métodos... 


    Fúlvio Cezar Canducci Dias

    quarta-feira, 28 de agosto de 2013 01:49
  • Fulvio,

    não tem nada como existe em aplicações .net  ( global.asax ) que intercepta a conexão e consegue ler todos os valores antes de qualquer método ser acionado ?

    Um a um vai me complicar a vida :(

    quarta-feira, 28 de agosto de 2013 12:47
  • Então Rafael,

    Pelo visto não como lhe disse é uma aplicação via protocolo http por requisição e eu não nunca vi esse tipo de modalidade, até antes fiz várias pesquisas e não tem mesmo! 

    De qualquer forma serão passados todas as vezes no seu caso as credenciais de acesso!!!



    Fúlvio Cezar Canducci Dias

    • Marcado como Resposta Rafael Metring quarta-feira, 28 de agosto de 2013 14:07
    quarta-feira, 28 de agosto de 2013 13:17
  • Entendi amigo. Obrigado 
    quarta-feira, 28 de agosto de 2013 14:07