[Cascavel-pm] [Projeto]: API de Autenticação Versátil e Auto-Extensível

Luis Campos de Carvalho lechamps em terra.com.br
Segunda Outubro 6 13:27:16 CDT 2003


   Irmãos monges

   Eu estou construindo uma API para autenticação na empresa, que 
inicalmente deverá utilizar POP3, IMAP, LDAP, CGI ou DBI para obter 
informações de autenticação de um usuário.

   Se alguém se interessar em olhar, eu tenho um UML feio, desenhado em 
papel-de-pão, que posso enviar por email, como imagem tiff ou gif.

   Eu pensei em uma estrutura orientada a objetos, assim:

   Auth.pm
   |
   |--> Auth::DBI
   |--> Auth::POP
   |--> Auth::IMAP
   |--> Auth::CGI
   |--> Auth::HTTP
   |--> Auth::LDAP

   Auth.pm é o meu "objeto principal" e todos os outros são "objetos 
delegados", especializados na autenticação por um determinado método.

   Agora, meu problema:

   Eu quero poder escrever apenas

   __PERL__
   use Auth;

   my $auth = new Auth( 'POP:servidor' );
   die "Invalido"
     unless $auth->check( 'nome', 'senha' );
   print "Valido";
   __END__

   e gostaria que isso funcionasse em qualquer situação. Mas existem 
pequenos problemas. Por exemplo, o LDAP precisa de mais informação do 
que isso para funcionar. Da mesma forma, o DBI e o CGI também 
precisarão. Como codificar isso tudo em um URI fácil de usar e simples 
de resolver?

            ***      ***      ***

   No mesmo contexto, eu gostaria que o objeto Auth fosse capaz de 
reconhecer quais extensões estão disponíveis em disco em um determinado 
instante. Existe alguma forma padronizada de verificar se um determinado 
tipo de objeto não-carregado em memória pode ser carregado (use 
Auth::MyAuth;) em um determinado instante, em carregar o objeto?

   Eu gostaria muito que a solução independesse da localização física 
dos arquivos, já que posso ter  partes da subárvore de objetos auth em 
locais diferentes (no $PERL_LIB/site-local e no meu ~/perl/lib, por 
exemplo).

   Soluções pré-fabricadas e módulos prontos são muito benvindos.

   Obrigado a todos!
-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
   Luis Campos de Carvalho is Computer Scientist,
   PerlMonk [SiteDocClan], Cascavel-pm Moderator,
   Unix Sys Admin && Certified Oracle DBA
   http://br.geocities.com/monsieur_champs/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=




Mais detalhes sobre a lista de discussão Cascavel-pm