Busca online em todo site:
PROGRAMANDO EM ASP.NET

Seja bem vindo(a) Visitante, voc no est logado deseja logar
na comunidade ASPNETi.COM e participar de servios e promoes ? clique aqui.




Título do Artigo

Sistema de Login em ASP – Parte V


Data Publicação: 31/5/2006 21:36:00
Total de visualizações: 1890

comente
 


Bom, meu nome é Mauricio Junior. Continuarei essa parte V onde explico e desenvolvo algumas functions dentro do Visual Basic 6.0. É necessário ter as functions antes de desenvolver a página ASP final, que verifica usuário e senha utilizando três camadas.

 

A function mostrada anteriormente foi EXECUTASQLARRAY. A referência 5.1 mostro todas que ainda serão criadas dentro do Global.bas.

 

 

Legenda da Tabela

OK

Functions mostradas e explicadas

NAN

Functions não mostradas

 

 

Function

Explicação da funcionalidade

Ok

ExecutaSQLArray

Essa function serve para executar algum comando SQL que retorne um array de dados. Essa forma de array pode ser entendido como RECORDSET, ou seja, um SELECT.

Ok

 

 

 

ExecutaSQL

Essa function serve para apenas executar um comando SQL, não retornar valor, ou seja, é responsável para executar um: INSERT, UPDATE e DELETE.

NAN

 

 

 

Encryptografar

Essa function serve apenas para receber um parâmetro, criptografar e retornar o valor criptografado. Irei utilizar um componente externo para isso.

NAN

 

 

 

DesenCryptar

Essa function serve apenas para receber um parâmetro criptografado e retornar o valor descriptografado, ou seja, ao contrário da function anterior.

NAN

 

 

 

Referência: 5.1 Visual Basic 6.0

 

 

Agora irei criar a function ExecutaSQL, responsável apenas para executar os comandos SQL INSERT, UPDATE e DELETE. (5.2 – Visual Basic 6.0)

 

 

 

Public Function ExecutaSQL(ByVal SQL As String, _

                           Optional ByVal sMetodoOrigem As String = "") As Boolean

 

On Error GoTo error

 

    If SQL <> "" Then

        CONN.Execute (SQL)

    End If

 

   

error:

 

    If Err.Number <> 0 Then

        ExecutaSQL = False

    Else

        ExecutaSQL = True

    End If

 

End Function

 

Referência: 5.2 – Visual Basic 6.0

 

 

 

Explicação:

 

Analisando a assinatura da function, note que é pública e recebe dois parâmetros do tipo string, sendo um obrigatório e outro opcional. No final, é retornado um valor do tipo Boolean, ou seja, true ou false.

 

 

 

Public Function ExecutaSQL(ByVal SQL As String, _

                           Optional ByVal sMetodoOrigem As String = "") As Boolean

 

Referência: 5.3 – Visual Basic 6.0

 

 

O próximo passo, utilizei o On Error GoTo error. Isso é significa que se algum erro ocorrer dentro dele, automaticamente será redirecionado para a parte de error.

 

 

 

On Error GoTo error

 

Referência: 5.4 – Visual Basic 6.0

 

 

O parâmetro obrigatório ByVal SQL as String é necessariamente o comando SQL enviado por uma function anterior que terá todos os valores necessários para inserir no banco de dados.

 

 

 

   If SQL <> "" Then

        CONN.Execute (SQL)

    End If

 

Referência: 5.5 – Visual Basic 6.0

 

 

 

Na referência 5.5, existe uma condição onde verifico se a variável SQL é diferente de vazio, isso porque esse valor será executado junto ao Execute do objeto de conexão CONN. Já que a variável SQL terá um dos comandos INSERT, UPDATE ou DELETE, não haverá problemas para ser executado.

 

 

 

error:

 

    If Err.Number <> 0 Then

        ExecutaSQL = False

    Else

        ExecutaSQL = True

    End If

 

Referência: 5.6 – Visual Basic 6.0

 

 

Dentro do “error:”, verifico se o é diferente de zero. Se for, a function recebe false, senão for, a function recebe true. Essa atribuição faz com que retorne o valor atribuído. É sempre bom utilizar o On Error GoTo error para prevenir qualquer tipo de erro dentro da dll. 

 

A referência 5.7 mostra a ilustração de toda function mostrada e explicada.

 

Referência: 5.7 – Visual Basic 6.0

 

 

 

 

 

 

Encryptografar

 

 

Antes de qualquer coisas, na function utilizo outro componente dll chamado RC4. O mesmo possui a function EnCrypt onde recebe dois parâmetros. O primeiro parâmetro é do tipo string, ou seja, o valor decriptografado e o outro é do tipo numérico, ou seja, a chave. (5.8)

 

 

 

 

Public Function Encryptografar(ByVal DESCRICAO As String) As String

                              

    'funcao que encryptografa a descricao ou mesmo senha

                              

Dim RC4

Static sRetorno

 

On Error GoTo error

     

    'setando variavel para criptografar e usando

    'um metodo da dll

    'nome da dll RC4DLL.DLL

   

    Set RC4 = CreateObject("RC4DLL.Crypt")

    sRetorno = RC4.EnCrypt(DESCRICAO, 9999)

 

error:

 

    If Err.Number <> 0 Then

        Encryptografar = Err.Number

    Else

        Encryptografar = sRetorno

    End If

   

    Set RC4 = Nothing

End Function

 

Referência: 5.8 – Visual Basic 6.0

 

 

Explicação:

 

 

Public Function Encryptografar(ByVal DESCRICAO As String) As String

 

Referência: 5.9 – Visual Basic 6.0

 

Como o de sempre, essa function é pública e recebe um parâmetro do tipo string. Além de receber parâmetro, retorna um parâmetro do tipo string. Isto é, o parâmetro sem cripitografada é enviado, retornando outro valor totalmente misturado ou criptografado.

 

A dll chamada RC4 é responsável pela criptografia do sistema. (5.10 – Visual Basic 6.0)

 

 

No começo da function declarei duas variáveis. (5.11 – Visual Basic 6.0)

 

 

Dim RC4

Static sRetorno

 

Referência: 5.11 – Visual Basic 6.0

 

 

 

Como dito anteriormente em outras functions, é sempre bom usar “On Error GoTo error”, dessa forma posso pegar o erro “se ocorrer” em qualquer parte do código. Foi a próxima linha que adicionei. (5.12)

 

 

On Error GoTo error

 

Referência: 5.12 – Visual Basic 6.0

 

 

Para a dll responsável pela criptografia deve ser registrada junto ao COM PLUS. Isso apenas para o uso da function dentro do VB. De qualquer forma, criei a function para utilizá-la normalmente. Declarei uma variável anteriormente para depois instanciá-la, criando um objeto da própria dll. (5.13 – Visual Basic 6.0)

 

 

 

 

 

    Set RC4 = CreateObject("RC4DLL.Crypt")

    sRetorno = RC4.EnCrypt(DESCRICAO, 9999)

 

Referência: 5.13 – Visual Basic 6.0

 

 

O comando CreateObject(“RC4DLL.Crypt”) faz com o que o objeto RC4 crie um vínculo com a dll, podendo assim ser usado todas as suas functions publicas. A function retorna uma string criptografada onde armazeno o valor na variável declarada anteriormente chamada sRetorno. Note que passei os parâmetros corretos para criptografar e manter uma “certa” segurança no sistema.

 

 

 

 

 

error:

 

    If Err.Number <> 0 Then

        Encryptografar = Err.Number

    Else

        Encryptografar = sRetorno

    End If

   

    Set RC4 = Nothing

 

Referência: 5.14 – Visual Basic 6.0

 

Para finalizar a function, pergunto se existiu algum erro para retorná-lo ou retornar a variável criptografada. Não esqueça que retorno o valor do tipo string. Essa function em si é usada apenas internamente, ou seja, outras classes usarão essa function. No final de tudo, atribuo o RC4 para nothing. Com isso, destruo o objeto criado anteriormente.

 

Segue a ilustração inteira da function criada. (5.15)

 

Referência: 5.15 – Visual Basic 6.0

 

 

 

 

 

Alguns livros publicados pela editora Ciência Moderna.

 

 

 

Bom, fico por aqui.

Espero ter ajudado em alguma coisa.

Fique de olho nos próximos artigos.

 

 

Mauricio Junior

www.mauriciojunior.org

www.aspneti.com

 



Total de visualizações: 1890
voltar   comente  subir

Autor:


Por:Mauricio Junior
Maurício Júnior
Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 27 anos e possuo sete livros publicados pela editora Ciência Moderna no ano de 2009. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog:  blog.mauriciojunior.orgSite pessoal  www.mauriciojunior.org


Comentários:


Comente (dê sua opinião): VOCÊ PRECISA ESTAR LOGADO

Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Vídeo - Sistema de Atendimento de Clientes
Vídeo - Mitos da bateria
Como fazer uma enquete - parte 1
Vídeo: Série Atlas.NET - Parte II
Certificação - Segunda Chance
II Encontro - Um Sucesso!!! (em Brasília)
Retirar Tag HTML dos campos utilizando expressão
Lançamento do livro Desenvolvendo Sistema para Celular
Zune
SQLEngine Utilizando Upgrade
Adicionando Menu no DataGridView
Desenvolvimento de Aplicativos para TV Digital - Parte 2
Internet Explorer 8
Insistência com Vírus por E-mail
Backup, qual a importância dele na sua vida?
Vídeo - Mostrando um sistema com pocket pc
Vídeos para download
CRIANDO MENU DINÂMICO COM C#.NET Passo 1
Vídeo - Ler EventLog do Windows usando C#.NET
Criando, utilizando e agendando sistema de backup
Internet começa a ter ultra velocidade no Brasil
NDOC para versão framework 2.0
Ebook: Desenvolvendo WebServices
Crie a sua própria rede social no ning
Documento padrão de desenvolvimento
Desenvolvimento de Aplicativos para TV Digital
Limpando Cache do Brownser
Sistema de Login em ASP – Parte VII (Utilizando três camadas)
Chrome - não reconhecimento...
Vírus do Serasa por E-mail
Usando Split no C#
WebServices usando soapHeader
Justiça isenta Itaú por captura de senha de correntista
Gravando erros com eventlog - Parte I
Inserindo Usuário no Banco de Dados MYSQL Usando Tecnologia AJAX

Publicidade:

[sumir] [aparecer]
DEVMEDIA




Informaes Online:

Usurios Online: 736
Artigos:  663
Vdeos:  47
PodCast's:  31
Frum:  3098
Empregos:  1226
Usurios Cadastrados: 5794

Categoria de Artigos

Vdeos

Enquete - D sua opinio

 Os podcasts tem sido proveitoso pra você?

 

Colaboradores

Foto Autor autor: Mauricio Junior   
publicou 382 artigo(s).
Foto Autor autor: Júlio Battisti   
publicou 51 artigo(s).
Foto Autor autor: Fabio Galante Mans   
publicou 28 artigo(s).
Foto Autor autor: Kleber Becerra   
publicou 10 artigo(s).
Foto Autor autor: Ramon Durães   
publicou 6 artigo(s).
Foto Autor autor: Ebenézer de Souza   
publicou 5 artigo(s).
Foto Autor autor: Fabio Aguiar   
publicou 4 artigo(s).
NETITC