[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