MSDN.com | MSDN Brasil
imagem de enfeite imagem de enfeite

Artigo

Por Israel Aéce - Categoria: ASP.NET 2.0 - Data da Publicação: 03/05/2006 00:57:19


Entendendo e Implementando Segurança no ASP.NET 2.0

Entendendo e Implementando Segurança no ASP.NET 2.0

As novas API's de segurança do ASP.NET 2.0 estão realmente mais completas e com muitas das coisas que fazíamos anteriormente com ASP.NET 1.x já encapsuladas. Um novo design nas classes, controles ricos que já estão integrados com estas API's de segurança, tornando o código mais seguro, elegante e menos propício a erros e, além destas características, a quantidade de código caiu drasticamente.

A finalidade deste artigo é dar um overview completo destas novas API's, começando em como está desenhada a arquitetura da mesma e passando pelo Membership e Roles. Depois disso, veremos as integrações com os controles já intrínsicos do ASP.NET, o Web Site Administration Tool e finalmente, um exemplo da configuração na íntegra do arquivo Web.Config.

Veremos no decorrer deste artigo essas novas funcionalidades, onde cada uma delas, está separada por assunto, relacionadas abaixo:

Conteúdo

  • Arquitetura - Provider Model
    A arquitetura das API's de segurança foi criada a partir de um "novo" design, definido pela Microsoft de Provider Model. Isso permite a utilização do mesmo de uma forma genérica, onde teremos obrigatoriamente uma infra-estrutura para repositório dos dados que, na maioria dos casos, é uma base de dados e, se este repositório mudar, o impacto na aplicação é quase zero.

  • Membership e MembershipUser
    A API de Membership é constituída por duas classes chamadas de Membership e MembershipUser. Essa API nos permite interagir com a infra-estrutura (independente de qual seja, porque faz uso do design Provider Model), criando, excluindo, recuperando usuários, ou seja, fazendo todo o gerencimento dos usuários da aplicação.

  • Membership e Atlas
    Com o surgimento da plataforma ASP.NET Atlas para desenvolvimento de aplicações mais interativas e sem refresh da página, a Microsoft se preocupou em criar métodos dentro do Atlas para efetuar o Login e Logout utilizando a API de Membership. Nesta seção veremos como implementar isso utilizando a arquitetura client-side fornecido pelo Atlas.

  • Roles
    Semelhante ao que temos no Windows, através das Roles, conseguimos agrupar um conjunto de usuários de acordo com as suas permissões dentro da aplicação. Através desta classe temos acesso às Roles, podendo criá-las, excluí-las, definir usuários, etc. Assim como o Membership, as Roles também independem da infra-estrutura que está definida por baixo, ficando também bem flexível.

  • Integração com Controles
    A Microsoft também se preocupou em disponibilizar controles que nas versões anteriores do ASP.NET tínhamos que criar manualmente. A vantagem destes controles é que eles já estão totalmente integrados com as API's de segurança Membership e Roles que, dessa forma, qualquer alteração na infra-estrutura refletirá em todo o local sem problema algum.

  • WSAT - Web Site Administration Tool
    Tudo o que fizemos acima foi configurado manualmente, onde conhecemos a plataforma mais profundamente. A Microsoft também se preocupou em criar uma interface (que não deixa de ser um site em ASP.NET) para auxiliar nestas configurações. Nesta seção veremos como utilizá-lo dentro da aplicação que estamos desenvolvendo.

  • Configurando a Aplicação
    Nesta seção aplicaremos grande parte do conhecimento que adquirimos com os tópicos acima e veremos como implantá-los em um projeto ASP.NET.

Conclusão: Como pudemos ver no decorrer das seções deste artigo, as API's de Membership e Role Management nos fornecem uma arquitetura bastante flexível, robusta e extensível. Como tudo é configurado através do arquivo de configuração, o processo fica ainda mais fácil. Com o auxílio do WSAT - Web Site Administration Tool, tudo o que vimos via código, o WSAT o encapsula, evitando que criemos uma interface para gerenciar isso. Finalmente, vimos que a Microsoft deu um grande passo nestas seções, quais são indispensáveis para qualquer aplicação Web.


2005. Projetando.NET.