Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Mobile magazine DIGITAL
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Artigo WebMobile 29 - Forms Authentication
Neste artigo veremos o que é como funciona o Forms Authentication no ASP.NET. Veremos como desenvolver aplicações que utilizam Forms Authentication simples, e também com mais de um tipo de usuário.
Mobile magazine 29
[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Mobile magazine 29
[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Mobile magazine 29
Forms Authentication
Autenticação no ASP.NET WebForms
Antes de começar a descrever como se implementa autenticação no ASP.NET, vamos primeiro entender como deve funcionar uma autenticação. Autenticação é o processo que busca verificar se tal usuário é reconhecido e autorizado a ter acesso às informações do sistema na qual estão restringidas por regras de acesso.
Geralmente, a identificação do usuário no sistema é dada por algum campo que é único para o usuário, seguido de uma senha para se ter um controle maior da segurança. Por exemplo: login (conhecido como username ou nome de usuário), CPF, Email, número de identificação, RA (para softwares acadêmicos), entre outros.
Uma vez identificado no sistema, o usuário pode estar liberado a ter acesso às informações restritas de acordo com o seu tipo de permissão (caso o sistema implemente níveis de acesso). Alguns cenários típicos onde podemos encontrar este tipo de solução são os clássicos Webmail e Internet banking, fóruns de discussões, web chats, sites de relacionamentos, entre outros.
Em ASP.NET, temos alguns recursos que nos fornecem autenticação tal como o Forms Authentication e MemberShips Provider. Neste artigo vamos implementar uma solução utilizando o Forms Authentication para um software acadêmico onde teremos uma área restrita para que alunos possam fazer uma consulta de suas notas, e para que professores possam manter um controle das notas de cada aluno. Irei utilizar o Visual Studio 2008 com ASP.NET 3.5 na linguagem C# para exemplificar.
Você pode criar este exemplo utilizando o Visual Studio 2005 e ASP.NET 2.0 também. No exemplo, não vou me preocupar com detalhes da aplicação como arquitetura, manutenção das informações e layout, irei apenas focar na exemplificação de uma autenticação do usuário em uma aplicação ASP.NET, que é a finalidade deste artigo.
Estrutura do exemplo
Antes de iniciar nossa aplicação de exemplo, vamos desenvolver uma estrutura básica de uma escola para tomarmos como base. Inicie um novo Website no Visual Studio, e dê o nome de Escola.
Feito isso, vamos criar um banco de dados simples para nossa aplicação. Clique com o botão direito na pasta App_Data, escolha a opção Add New Item e na lista que irá surgir, selecione SQL Server Database. E como nos mostra a Figura 1, dê um nome para este database de Escola.mdf, e clique em Add. Note que iremos utilizar o SQL Server Express como exemplo, mas isto pode ser aplicado a qualquer fonte de dados.
Figura 1. Criando Database Escola
Nota do DevMan:
A pasta App_Data em aplicações ASP.Net tem o objetivo de armazenar arquivos que nos servem de fonte de dados, tais como Banco de dados (Arquivos do SQL Server ou Access), arquivos XML, arquivos do Excel, entre outros. Esta pasta assim como outras pastas (App_Code, Bin), contém um tratamento especial pelo ASP.NET, impedindo que o usuário possa fazer o download de informações presentes.
Para que seja possível incluir um banco de dados SQL Server diretamente na pasta App_Data, o Visual Studio realiza uma conexão direta ao arquivo do banco de dados (neste caso o Escola.mdf). E para isso o Visual Studio vai precisar da edição Express do SQL Server (2005 ou 2008). Veja na seção de links onde encontrar o SQL Server Express, que é gratuíto, para download.
Criado o banco de dados, através da janela Server Explorer do Visual Studio, vamos desenvolver um modelo de tabelas que ira nos orientar em nossa aplicação. Vejam o modelo criado na Figura 2.
Figura 2. Modelo de Tabelas do Database Escola
Neste modelo de exemplo, temos 3 tabelas: Notas, Turma e Pessoa. A tabela Pessoa representa qualquer usuário presente no sistema, seja ele um Professor ou Aluno, identificado pelo campo Tipo (nvarchar(15)). Temos também a tabela de Notas, que representa a nota do aluno em uma determinada turma, e a tabela de Turmas onde temos uma disciplina que a turma participa e qual o professor desta turma.
Você vai encontrar esse banco de dados para download no site da Devmedia, junto com os fontes dessa aplicação de exemplo. Se preferir, na Listagem 1 temos o script para a criação destas três tabelas.
Listagem 1. Script para criação das tabelas do database Escola
USE [Escola]
GO
/****** Object: Table [dbo].[Notas] Script Date: 02/01/2010 12:40:02 ******/
"
Este é um post disponível para assinantes MVP
Autenticação no ASP.NET WebForms
Antes de começar a descrever como se implementa autenticação no ASP.NET, vamos primeiro entender como deve funcionar uma autenticação. Autenticação é o processo que busca verificar se tal usuário é reconhecido e autorizado a ter acesso às informações do sistema na qual estão restringidas por regras de acesso.
Geralmente, a identificação do usuário no sistema é dada por algum campo que é único para o usuário, seguido de uma senha para se ter um controle maior da segurança. Por exemplo: login (conhecido como username ou nome de usuário), CPF, Email, número de identificação, RA (para softwares acadêmicos), entre outros.
Uma vez identificado no sistema, o usuário pode estar liberado a ter acesso às informações restritas de acordo com o seu tipo de permissão (caso o sistema implemente níveis de acesso). Alguns cenários típicos onde podemos encontrar este tipo de solução são os clássicos Webmail e Internet banking, fóruns de discussões, web chats, sites de relacionamentos, entre outros.
Em ASP.NET, temos alguns recursos que nos fornecem autenticação tal como o Forms Authentication e MemberShips Provider. Neste artigo vamos implementar uma solução utilizando o Forms Authentication para um software acadêmico onde teremos uma área restrita para que alunos possam fazer uma consulta de suas notas, e para que professores possam manter um controle das notas de cada aluno. Irei utilizar o Visual Studio 2008 com ASP.NET 3.5 na linguagem C# para exemplificar.
Você pode criar este exemplo utilizando o Visual Studio 2005 e ASP.NET 2.0 também. No exemplo, não vou me preocupar com detalhes da aplicação como arquitetura, manutenção das informações e layout, irei apenas focar na exemplificação de uma autenticação do usuário em uma aplicação ASP.NET, que é a finalidade deste artigo.
Estrutura do exemplo
Antes de iniciar nossa aplicação de exemplo, vamos desenvolver uma estrutura básica de uma escola para tomarmos como base. Inicie um novo Website no Visual Studio, e dê o nome de Escola.
Feito isso, vamos criar um banco de dados simples para nossa aplicação. Clique com o botão direito na pasta App_Data, escolha a opção Add New Item e na lista que irá surgir, selecione SQL Server Database. E como nos mostra a Figura 1, dê um nome para este database de Escola.mdf, e clique em Add. Note que iremos utilizar o SQL Server Express como exemplo, mas isto pode ser aplicado a qualquer fonte de dados.
Figura 1. Criando Database Escola
Nota do DevMan:
A pasta App_Data em aplicações ASP.Net tem o objetivo de armazenar arquivos que nos servem de fonte de dados, tais como Banco de dados (Arquivos do SQL Server ou Access), arquivos XML, arquivos do Excel, entre outros. Esta pasta assim como outras pastas (App_Code, Bin), contém um tratamento especial pelo ASP.NET, impedindo que o usuário possa fazer o download de informações presentes.
Para que seja possível incluir um banco de dados SQL Server diretamente na pasta App_Data, o Visual Studio realiza uma conexão direta ao arquivo do banco de dados (neste caso o Escola.mdf). E para isso o Visual Studio vai precisar da edição Express do SQL Server (2005 ou 2008). Veja na seção de links onde encontrar o SQL Server Express, que é gratuíto, para download.
Criado o banco de dados, através da janela Server Explorer do Visual Studio, vamos desenvolver um modelo de tabelas que ira nos orientar em nossa aplicação. Vejam o modelo criado na Figura 2.
Figura 2. Modelo de Tabelas do Database Escola
Neste modelo de exemplo, temos 3 tabelas: Notas, Turma e Pessoa. A tabela Pessoa representa qualquer usuário presente no sistema, seja ele um Professor ou Aluno, identificado pelo campo Tipo (nvarchar(15)). Temos também a tabela de Notas, que representa a nota do aluno em uma determinada turma, e a tabela de Turmas onde temos uma disciplina que a turma participa e qual o professor desta turma.
Você vai encontrar esse banco de dados para download no site da Devmedia, junto com os fontes dessa aplicação de exemplo. Se preferir, na Listagem 1 temos o script para a criação destas três tabelas.
Listagem 1. Script para criação das tabelas do database Escola
USE [Escola]
GO
/****** Object: Table [dbo].[Notas] Script Date: 02/01/2010 12:40:02 ******/
"
A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Mobile magazine DIGITAL
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Felipe Oriani
é desenvolvedor Web desde 2004 e trabalha com tecnologias Microsoft como ASP e ASP.NET utilizando as linguagens C# e VB.NET. Bacharel em Ciência da Computação pela Escola de Engenharia de Piracicaba.
O que você achou deste post?
Cursos relacionados
Publicidade



