Article Details                  
 
Criando um sistema de Login com o VWD

O Visual Web Developer nos trouxe além de diversas novidades, objetos intrinsecos a .NET Framework 2.0 que permitem uma melhor integração e uma melhor codificação de partes de códigos que antes tomam tempo e redundância de códigos. Neste artigo iremos abordar como criar um sistema de Login.

O Visual Web Developer nos trouxe além de diversas novidades, objetos intrinsecos a .NET Framework 2.0 que permitem uma melhor integração e uma melhor codificação de partes de códigos que antes tomam tempo e redundância de códigos.

Neste artigo, pretendo demonstrar algumas das novidades e formas de implementação para que tudo funcione como projetado pelo time de desenvolvimento do Visual Studio.NET 2005 - Whidbey.


Guia Login

Uma nova guia denominada Login foi adicionada a toolbox. Nesa guia tesmos a disposição vários controles pré-definidos para nos auxiliar na construção de sistemas de login e manutenção dos mesmos em nossos sites, como visto na Figura 1.







Figura 1 - Diversos novos controles foram adicionados a toolbox.


Veremos abaixo a utilização e implementação de todos os controles dessa categoria:

Login - Controle relacionado a criação de código (HTML) para a construção de um formulário de login. O controle possui várias propriedades que nos auxiliarão na construção do código para esse controle.

Ao inserirmos esse controle na área de design, o código necessário para a criação do controle será automaticamente gerado. Podemos formatar e personalizar esse controle clicando no pequeno ícone na forma de seta que aparece quando selecionamos o controle depois de inserido, como vemos na Figura 2.







Figura 2 - Ao clicarmos na pequena seta no canto direito superior, um menu flutuante é exibido para que possamos personalizar o controle.

Selecionamos então a opção Auto Format para formatarmos o controle em um um dos vários formatos prontos, como visto na Figura 3 e Figura 4

.





Figura 3 - Escolhemos o modo Elegant de formatação. O preview da formatação é exibido como mostrado na figura.







Figura 4 - Após formatado, eis a apresentação do formulário.

Para deixarmos o formulário com a cara do desenvolvedor, podemos usar as propriedades do controle para definirmos todos os detalhes, desde a cor de fundo, até os labels que são exibidos.
Para mudar os labels onde aparecem escritos User Name, Password, Remember me next time e o botão de submit, acessamos as propriedades UserNameLabelText, PasswordLabelText, RememberLabelText e SubmitButtonText.

Obs - O botão de submit pode ser substituido por imagem ou link, de acordo com as necesidades do sistema. Para esse fim, acesse a propriedade SubmitButtonType.

Para mudarmos o título da caixa (Log In) e as cores da borda e do fundo, acessamos as propriedades TitleText (título),  BackColor (cor de fundo) e BorderColor (cor da borda). Depois de atualizarmos todas as propriedades, o formulário será semelhante ao apresentado na Figura 5.







Figura 5 - O formulário foi personalizado para o idioma local e cores escolhidas pelo desenvolvedor.

É importante também que a propriedade FailureText (caso o login não seja válido) seja alterada para caso o login não seja válido, uma mensagem personalizada ser exibida de acordo com as configurações personalizadas, e a propriedade DestinationPageUrl, que será a página de destino, caso o acesso seja validado.

Por padrão, o controle Login já vem configurado para ter os dois campos (Login e Senha) válidados quando o botão submit for acionado. Essa validação no entanto, é apenas para checagem de ausência de valores - Se os dois, ou apenas um campo não for preenchido, um asterisco aparece ao lado da caixa deixada em branco, informando ao usuário que o campo deve ser preenchido.

Após definirmos todos os detalhes acima, podemos codificar o controle para que seja usado com um formulário de login com validação em banco de dados.

Para isso, acionamos o botão Events (icone na forma de raio) presente na caixa Properties. Esse botão, antes presente somente em projetos usando C#, agora esta disponível também para projetos usando outras linguagens, como visto na Figura 6.







Figura 6 - O botão Events agora esta disponível para todas as linguagens utilizadas no projeto.

Essa área da caixa Properties permite que não necessáriamente seja codificado um evento para aquele objeto. Podemos selecionar subs que estejam prontas e associalas aos eventos disponíveis - Ação muito comum em Delphi.

Os eventos mostrados na Figura 6 são usados para:

Authenticate - Ocorre quando o acesso esta sendo validado;
LoggedIn - Ocorre após o acesso ser validado e o usuário passa a estar logado no sistema;
LoggingIn - Ocorre após o usuário submeter as informações de login. Esse evento é executado antes do Authenticate;
LoginError - Ocorre quando algum tipo de erro é detectado durante o login;
DataBinding - Ocorre quando o controle é preenchido de alguma maneira por uma fonte de dados;
Disposed - Ocorre quando o controle é excluído da memória manualmente ou pelo Garbage Collector;
Init - Ocorre quando o controle é inicializado;
Load - Ocorre quando o controle é executado, geralemente na execução da página no browser;
PreRender - Ocorre toda vez que o controle é desenhado na página.
Unload - Ocorre quando o controle é finalizado.

Para a codificação, iremos dar um duplo click no evento Authenticate, que será o responsável por validar as informações submetidas, dar ou negar o acesso baseado no login e na senha informados. Eis o código:

    
Partial Class Default_aspx
 
    Sub LoginSistema_Authenticate(ByVal sender As Object, ByVal e _
        As System.Web.UI.WebControls.AuthenticateEventArgs)
        'Aqui, inserimos o código que irá realizar
        'a validação dos dados submetidos, baseado
        'no usuário e na senha informados.
 
        'Teremos algo como:
        If LoginSistema.UserName = "Max" And _
           LoginSistema.Password = "123456" Then
            'Caso o usuário e senha estejam corretos,
             'o acesso é concedido.
            e.Authenticated = True
        Else
            'Caso o usuário ou a senha sejam inválidos,
            'o acesso é negado
            e.Authenticated = False
        End If
    End Sub
 
End Class
 

 



De maneira simples, podemos criar códigos para autenticação de usuários em nossos sistesmas.
No próximo artigo, mas novidades sobre controles do Visual Web Developer.

Abraços,
Max Mosimann Netto


Written By: labreu
Date Posted: 4/14/2006
Number of Views: 487

Return