[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