Artigo Originalmente publicado na WebMobile 05

 

pt">Clique aqui para ler todos os artigos desta edição

 

Desenvolvendo Web Services seguros na plataforma .NET

Configurando e autenticando com WSE 2.0

 Andrey Sanches

Existem algumas técnicas para evitar possíveis invasões em aplicativos com o objetivo de assegurar a confiabilidade das informações disponíveis em diversos níveis de sistemas. Entretanto, é notável que a grande maioria dos desenvolvedores não se preocupam com segurança. Essa tarefa normalmente é atribuída ao departamento de infra-estrutura da empresa.

Em meados de 2001, a Microsoft lançou no mercado de desenvolvimento de software a tecnologia .NET, que vem colaborando com a evolução de todo o ciclo de criação de aplicativos para qualquer necessidade. Em meio a toda essa evolução, foi anunciada a possibilidade de criação de XML Web Services utilizando como base o .NET Framework.

XML Web Services, ou serviços web, é a tecnologia mais interessante para trocar informações pela internet. Eles permitem que diferentes empresas, mesmo utilizando distintas tecnologias e plataformas, conectem-se de maneira padrão, e executem procedimentos remotos sobre o protocolo http. A segurança com web services é algo que também deve ser colocado em pauta, já que os web services são serviços públicos que qualquer cliente pode consumi-lo. Nesse artigo vamos entender quais técnicas devem ser utilizadas para garantir a segurança de web services, objetivando restringir o acesso e execução de métodos.

Criando o web service

A criação de web services se torna uma tarefa muito simples quando se utiliza o Visual Studio .NET. Para esse artigo utilizaremos o Visual Studio .NET 2003.

Com o Visual Studio .NET aberto, vamos iniciar a criação do web service. Selecione o Menu File, aponte para New | Project, selecione a linguagem C#, o template ASP .NET Web Service, e informe o nome do projeto conforme mostra a Figura 1.

 

image001.jpg

Figura 1. Criação do projeto do tipo web service.

 

Seguindo o mesmo conceito de projetos ASP.NET Web Application, o arquivo de configuração (web.config) e o arquivo global ASA (global.asax) serão criados respeitando os mesmos conceitos e características de um web site.

O arquivo Service1.asmx representa o web service que disponibilizará os serviços para as aplicações. Tecle F7 para alternar para o arquivo de código C# (Service1.asmx.cs) e iniciarmos a codificação.

Por facilidade, o Visual Studio cria um WebMethod padrão, o famoso “HelloWorld”. Exclua esse WebMethod e crie o WebMethod getCustomer() que retornará uma listagem de clientes do banco de dados NorthWind através de um objeto do tipo DataSet. Codifique o WebMethod conforme a Listagem 1.

 

Listagem 1. Criação do WebMethod para retorno de clientes.

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Diagnostics;

using System.Web;

using System.Web.Services;

using System.Data.SqlClient;

 

[WebMethod]

public DataSet getCustomers()

{

 

       //valida o envio dos tokens de segurança e do objeto context

       Seguranca.validarLogin(RequestSoapContext.Current);        

 

//cria o objeto do tipo SqlConnection para conexão com o banco de dados

SqlConnection conn = new SqlConnection("Server=(local);Database=NorthWind;User ID=seulogin;Password=suasenha;Trusted_Connection=False");

      

       try

       {

             //abre a conexão com o banco

             conn.Open();

       }

       catch (SqlException ex)

             {

...

Quer ler esse conteúdo completo? Tenha acesso completo