segunda-feira, 21 de janeiro de 2008

Autenticação no Portal com Desktop Windows

Muito me perguntam sobre este assunto e quero compartilhar a resposta com vocês.

Existem três formas de se fazer isso:

1. Há um componente no Tivoli Access Manager chamado SPNego. Ele permite criar tokens oriundos do sistema operacional estabelecendo uma autenticação com uma aplicação Web. Sem dúvida alguma, esta é a única solução limpa para isto.

Para maiores informações sobre o SPNego clique aqui.

Para entender as outras duas alternativas é necessário entender o funcionamento do HTTP Server da Microsoft. O Internet Information Server (IIS).

O IIS faz uma chamada interna ao sistema operacional e pode receber um token de autenticação do Windows. Esta chamada não é padrão, sendo necessário configurar o recurso na console administrativa do IIS. Este token pode ser repassado para aplicações .net estabelecendo uma relação de autenticação. Neste token caminha a informação do usuário mas não tem a senha.

2. O Portal permite modificar toda a sua estrutura de autenticação. Para isto você pode criar classes que definem o comportamento de autenticação do Portal. A este recurso denominamos Custom User Registry (CUR). Este tipo de implementação requer um alto grau de conhecimento dos módulos de segurança do Portal. Neste caso você poderia ler o token do IIS usando um componente de .net e na porgramação do portal você desabilita a senha permitindo que somente requisições vindas do gateway em .net possa realizar a autenticaçao.

3. Você pode criar um gateway em Java que recebe as informações via gateway .net e autentica no portal via HTTP/HTTPS. Esta solução é a pior de todas devido a quantidade de controles de segurança que são necessários implementar para autenticar. A solução fica lenta e com alto grau de acoplamento coma tela do portal.

Novas idéias, sugestões ou mesmo experiências neste assunto são bem vindas.

3 comentários:

Unknown disse...

Alex e pessoal, na Lotusphere ficamos sabendo que o suporte a SSO utilizando SPNego será nativo no Portal 6.1 (não será mais necessário adquirir licensas de outros produtos). :)

Alex Coqueiro disse...

Que ótima notícia. Vou pesquisar mais a este respeito e em breve mais informações no blog.

Tchacarai disse...

Bem,
queria saber se você tem uma documentação mas detalhada sobre a autenticação do portal no desktop windows, sem a utilização do SPNego.