Autenticação em banco de dados corporativos atraves de URL/webservice
Selecionando metodo de autenticação
Inicialmente efetua-se a alteração do método de autenticação do captive portal na guia do UserAuth, adicionando a autenticação externa através de URL.
Adicionando URL para consulta
Também nessa mesma guia, adiciona-se o local da URL externa e o método de envio da senha a essa URL, podendo ser texto puro, ou qualquer hash que comunique com o PHP do server. Inicialmente vamos fazer o teste com texto puro.
Criando codigo PHP para consulta de usuários
No nosso primeiro acesso estamos colocando um portal muito simples em php, com apenas alguns dados de usuários crus mesmo, diretamente na ferramenta, sem conexão ao banco de dados.
Testando codigo PHP como base de consulta
Ao atualizarmos nossa máquina virtual, ele já solicita o novo usuário e senha. Vamos testar com a maria.andrade que se encontra no array do nosso PHP.
O nosso teste autenticou.
Autenticado, já podemos avaliar nas conexões ativas que a usuária "maria.andrade" já está conectada.
Vamos desconectar essa conta e fazer mais um teste com outra conta.
Testamos agora com o usuário joao.silva.
O mesmo autenticou perfeitamente também.
Nas sessões ativas, podemos verificar que o joao.silva também já está conectado.
Integrando banco de dados externo com usuários
Agora vamos efetuar a autenticação em um php integrado a um banco de dados mysql Inicialmente vou alterar o local da minha página php, e colocar a senha como MD5, formato que ficou na comunicação com o banco.
Criando banco de dados
Nesse mysql criamos um banco simples, com uma tabela de usuários, e a senha em md5.
Código PHP para integração
Para o código .php da página, utilizamos o exemplo pronto no site do próprio php. Efetuando somente os ajustes de conexão necessários.
No nosso caso, estamos utilizando o banco no próprio servidor apache, então configuramos como uma conexão local, que seleciona o banco “hotel”, e fazendo a query com o usuário e senha da tabela cp, retornando somente um ok, para caso ele valide corretamente, e erro para caso não valide.
Testando autenticação com banco de dados externo
Efetuamos o teste com o usuário salvo no nosso banco.
Ele autenticou.
A sessão já está ativa, com essa conexão completa, o funcionamento de todas as outras funções continua exatamente da mesma forma, como a configuração de grupo pelo e2guardian, ou a criação de regras de acesso pelo firewall.
Podemos efetuar, por exemplo, a adição do usuário em um grupo especifico, já criado e configurado com alguns limites de acesso.
Dessa forma, forçando a reinicialização da conexão, podemos avaliar nos logs que o usuário já efetua a conexão dentro do grupo “suporte”, ao qual o adicionamos.
Atualizado