[Cascavel-pm] [Projeto]: API de
Autenticação Versátil e Au
to-Extensível
Flavio S. Glock
fglock em pucrs.br
Terça Outubro 7 09:41:09 CDT 2003
Irmão Champs:
Dê uma olhada neste software:
http://www.openwebmail.org
No diretório cgi-bin, depois de fazer download:
auth_ldap.pl
auth_mysql.pl
auth_pop3.pl
... e assim por diante, são 11 formas diferentes de autenticação.
- Flavio S. Glock
Luis Campos de Carvalho wrote:
>
> 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.
Mais detalhes sobre a lista de discussão Cascavel-pm