[Cascavel-pm] [Projeto]: API de Autenticação Versátil e Auto-Extensível
Daniel Ruoso
daniel em ruoso.com
Segunda Outubro 6 15:02:40 CDT 2003
Olá... Foi uma boa coincidência ter entrado na lista logo hoje. Sou o
mantenedor do Perl Oak, que é uma biblioteca de componentes para
desenvolvimento de aplicações, não só, mas também web. E uma das partes
do Oak é o AAS, que se traduz por Oak Authentication and Authorization
Service. Como ele é:
Ele é separado em duas partes. Uma é o Oak::AAS::Session, que é
utilizado diretamente pelo software que quer implementar autenticação, e
a outra parte é o Oak::AAS::Service, que é quem implementa a
autenticação e autorização em si. No Oak::AAS::Session se configura qual
o serviço de Autenticação a ser utilizado, que nada mais é do que alguma
implementação de Oak::AAS::Service.
Quem quiser ver mais sobre o Oak, que implementa algumas áreas da
implementação de sistema, pode acessar o site
http://perl-oak.sourceforge.net. Se alguém gostar e quiser colaborar é
muito bem vindo.
Em Seg, 2003-10-06 às 15:27, Luis Campos de Carvalho escreveu:
> 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!
--
Atenciosamente,
Daniel Ruoso
Desenvolvimento de Sistemas
daniel em oktiva.com.br
Oktiva Telecomunicaes e Informtica
Mais detalhes sobre a lista de discussão Cascavel-pm