Squid logando usuários em aplicações web

fba

Testei as mais diversas formas de autenticação de usuários no Squid, mas cheguei a conclusão de que gostaria de usar a minha própria lista de usuários e senhas contidas na aplicação web que estou desenvolvendo. A partir daí criei meu próprio método de autenticação, baseando-me no código-fonte do smb_auth.

[ Hits: 17.914 ]

Por: Fábio em 10/08/2006


A história



Inicio de tudo...
No inicio da configuração do Squid testei as mais diversas formas de autenticação de usuários, mas cheguei a conclusão de que gostaria de usar a minha própria lista de usuários e senhas contidas na aplicação web que estou desenvolvendo.

Como fazer?
Foi aí que dei uma procurada na internet e não encontrei nada a respeito, então dei uma analisada no fonte das aplicações xxx_auth inclusas no Squid e conclui que não seria uma tarefa tão difícil adaptar alguma daquelas aplicações para autenticar pelo meu sistema.

O problema!
Sou meio novato em C, logo isso seria um problema, mas como eu não tinha escolha e estava decidido a fazer aquela aplicação, continuei.

A solução.
Copiei o fonte da aplicação smb_auth :D e comecei a estudá-la, e paralelo a isso, estudar os sockets em C (para fazer a autenticação na aplicação).

Como funciona


Como funciona para o Squid:
O Squid trabalha com aplicações externas para fazer a autenticação dos usuários, as aplicações funcionam de forma simples, o Squid manda como parâmetro o nome do usuário e a senha do mesmo, a aplicação faz a autenticação em algum lugar (num servidor de rede Windows, nos usuários Linux ou em qualquer outro lugar, como no caso do programa em questão, que pode ser até mesmo em um servidor de web-mail) e a aplicação retorna "OK" ou "ERR" para Squid.

Como funciona o http_auth (nome sugestivo para a aplicação):
Ele recebe como parâmetro o usuário e a senha enviados pelo Squid, através dos sockets C estabelece uma conexão TCP/IP cliente com a aplicação servidora (no caso um servidor JSP, PHP, etc), manda como parâmetro o nome do usuário e a senha e a aplicação retorna uma página com a resposta, dizendo se o login ocorreu com sucesso ou falhou. A aplicação analisa o texto de resposta e retorna para o Squid um "OK" ou um "ERR" e este libera ou bloqueia o acesso ao usuário.

    Próxima página

Páginas do artigo
   1. A história
   2. A aplicação
   3. Integrar a aplicação com o Squid
Outros artigos deste autor

JSP acessando MySQL usando JSTL e EL

Leitura recomendada

TORCS – Instalação e criação de um bot simples

Gerenciando pacotes para C/C++ com Conan

Comando MAKE

Dynamic libraries com libtool

Como funcionam os alocadores de memória do STD C?

  
Comentários
[1] Comentário enviado por fba em 10/08/2006 - 15:28h

Na hora de colocarem o codigo fonte ficou bugado devido a ser caractere especial, então onde esta escrito {TEXTO} no fonte da aplicacao substituam por \ 0 (sem o espaco entre os dois caracteres, tive que colocar o espaco se nao ele não mostra os caracteres no site, algum bug, vou dar uma prosiada com o mantenedor do site pra ele arrumar hehehe)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts