DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Sessions para WebBroker - Parte I

Serialize usuarios em aplicações Web, neste artigo de Emerson Facunte. Acesso exclusivo para Assinantes.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?

Sessions para WebBroker

Serialize usuarios em aplicações Web

 

Salve, salve Delphianos!

Neste pequeno artigo demonstrarei algumas técnicas para criação de Sessions para aplicações baseadas em WebBroker.

Mas para que servem as Sessions? Uma resposta curta e grossa: serializar usuários em aplicações Web! Xiiiiiii Facunte, agora piorou, explique melhor!?

Vejamos dois exemplos:

e-Commerce

Serializamos clientes através de Sessions, onde todas as ações devem ser controladas, como adição de produtos no carrinho de compras, processo de identificação e pagamento.

 

Veja o esquema:

Internauta entra na loja virtual e recebe uma sessão única: A01-FF1

 

Internauta escolhe produto e coloca na sua cesta. Sua cesta possui a mesma identificação da sessão: A01-FF1

 

Internauta entra na área de identificação e o sistema vincula seu cadastro à sessão: A01-FF1

 

Internauta finaliza processo de compra, e o sistema identifica suas opções através da sessão: A01-FF1

iBanking

Utilizada no processo de identificação do cliente, bem como em todas as ações realizadas durante a sessão (transferência entre contas, pagamentos, extrato, etc).

Cliente entra no site do banco e recebe uma sessão única: BBC-AAX

 

Cliente informa dados de sua conta e realiza login do iBanking. O sistema vincula a conta logada na sessão BBC-AAX. Para maior segurança, além de um servidor seguro, a sessão criada possui algumas informações do internauta, como por exemplo, o número do IP (obviamente criptografado)

 

Cliente realiza todas as transações de maneira segura, onde o sistema sempre verifica as informações da sessão BBC-AAX, e da máquina do usuário.

 

Cliente finaliza processo, e o sistema libera a sessão BBC-AAX.

 

Mas chega de apresentações! Chegou a hora de por a mão na massa.

Exemplo 1 – Função randômica para criação de sessões:

 function NewIDRamdom:String;

     begin

         Result:= IntToHex(Random($ffffffff),8)+'-'+

                     IntToHex(Random($ffffffff),8)+'-'+

                     IntToHex(Random($ffffffff),8)+'-'+

                     IntToHex(Random($ffffffff),8);

     end;

 

Exemplo 2 – Função que utiliza diversos dados, como data e hora.

 function NewIDPlus:String;

 var

 iAno, iMes, iDia, iHora, iMinuto, iSegundo, iMSegundo: Word;

 begin

    DecodeDate(Now, iAno, iMes, iDia);

    DecodeTime(Now, iHor, iMin, iSeg, iMSeg);

    Result:= IntToHex(iAno,3)+'-'+

                IntToHex(iMes,2)+'-'+

                IntToHex(iDia,2)+'-'+

                IntToHex(iMSegundo,3)+'-'+

                IntToHex(iSegundo,2)+'-'+

                IntToHex(iMinuto,2)+'-'+

                IntToHex(iHora,2);

 end;

 

 Exemplo 3 – Função que retorna uma GUID.

Neste exemplo, necessitamos de duas units: ActiveX e COMOBJ.

 

 function NewIdGuid:String;

 var

     MinhaGUID:TGUID;

 begin

     CoCreateGuid(MinhaGuid);

     Result:=GUIDToString(MinhaGuid);

 end;

 

 Exemplos de utilização:

Variável de sessão:

 

var

 IDSession: String;

 

 Variável Internet, que identifica o usuário:

ID

Exemplos:

 

 <input type=”hidden” name=”ID” value=”...>

 http://servidor/aplicacao.dll/login?ID=....

 

No evento OnBeforeDispatch insira o código que segue:

 

begin

  if Request.ContentFields.values[‘ID’]=’’ then

     IDSession := NewIdGuid;

end;

 

 E no parser do seu Producer (onHTMLTag), coloque o código que segue:

 

begin

    if TagString=’ID’ then

      ReplaceText:=IDSession;

 end;

 

 Em todas as páginas você deverá inserir a Tag transparente <#ID>, exemplo:

Exemplos:

 

 <input type=”hidden” name=”ID” value=”<#ID>”>

 http://servidor/aplicacao.dll/login?ID=<#ID>

 <form name=”cliente” action=”/apl.dll/confirma?ID=<#ID>”>

 

No próximo artigo, faremos uma rotina completa de login utilizando uma das funções descritas.

 

Muita luz e energia à todos!

 


Emerson Facunte
Emerson Facunte é especialista em aplicações e-business, e membro-fundador do DUG-BR. Ministrou palestras e cursos para mais de 5 mil pessoas em todo território nacional. Pode ser contatado em emerson@facunte.com.br
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03