# Autenticação em banco de dados corporativos atraves de URL/webservice

## Selecionando metodo de autenticação <a href="#selecionando-metodo-de-autenticacao" id="selecionando-metodo-de-autenticacao"></a>

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.

<figure><img src="/files/zVk3nLZxvZQyr225IcFT" alt=""><figcaption></figcaption></figure>

## Adicionando URL para consulta <a href="#adicionando-url-para-consulta" id="adicionando-url-para-consulta"></a>

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.

<figure><img src="/files/9g9KyeeunEh4VtKsrgIx" alt=""><figcaption></figcaption></figure>

## Criando codigo PHP para consulta de usuários <a href="#criando-codigo-php-para-consulta-de-usuarios" id="criando-codigo-php-para-consulta-de-usuarios"></a>

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.

<figure><img src="/files/8uNcWZnKoXG64E57i7A6" alt=""><figcaption></figcaption></figure>

## Testando codigo PHP como base de consulta <a href="#testando-codigo-php-como-base-de-consulta" id="testando-codigo-php-como-base-de-consulta"></a>

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.

<figure><img src="/files/ZlDSFHH2X4eMcH76bZrs" alt=""><figcaption></figcaption></figure>

O nosso teste autenticou.

<figure><img src="/files/mGXLDNyKb5K02cZrLpPh" alt=""><figcaption></figcaption></figure>

Autenticado, já podemos avaliar nas conexões ativas que a usuária "maria.andrade" já está conectada.

<figure><img src="/files/QJZWHuUn7l8mI4zqCByr" alt=""><figcaption></figcaption></figure>

Vamos desconectar essa conta e fazer mais um teste com outra conta.

<figure><img src="/files/DCRlUiTsV8KGtxstJZQf" alt=""><figcaption></figcaption></figure>

Testamos agora com o usuário **joao.silva**.

<figure><img src="/files/UhGDx7hwCjQZV5RSLywT" alt=""><figcaption></figcaption></figure>

O mesmo autenticou perfeitamente também.

<figure><img src="/files/Odjh4BF1Fm73995Zsae2" alt=""><figcaption></figcaption></figure>

Nas sessões ativas, podemos verificar que o joao.silva também já está conectado.

<figure><img src="/files/WON79vBfjld7eE3yusjS" alt=""><figcaption></figcaption></figure>

## Integrando banco de dados externo com usuários <a href="#integrando-banco-de-dados-externo-com-usuarios" id="integrando-banco-de-dados-externo-com-usuarios"></a>

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.

<figure><img src="/files/hPo5oPRXIsfZoCrTbgTL" alt=""><figcaption></figcaption></figure>

## Criando banco de dados <a href="#criando-banco-de-dados" id="criando-banco-de-dados"></a>

Nesse mysql criamos um banco simples, com uma tabela de usuários, e a senha em md5.

<figure><img src="/files/J9A9fwPAuvaVQozU5vV8" alt=""><figcaption></figcaption></figure>

## Código PHP para integração <a href="#codigo-php-para-integracao" id="codigo-php-para-integracao"></a>

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.

<figure><img src="/files/a790fRNhE8g4YXiaSDfK" alt=""><figcaption></figcaption></figure>

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.

<figure><img src="/files/ZC7UB4cht7TH0qfr9TvB" alt=""><figcaption></figcaption></figure>

## Testando autenticação com banco de dados externo

Efetuamos o teste com o usuário salvo no nosso banco.

<figure><img src="/files/lI9R4m58cF69ZfboaAbs" alt=""><figcaption></figcaption></figure>

Ele autenticou.

<figure><img src="/files/mkjTfOEx35UVOQYZwfU5" alt=""><figcaption></figcaption></figure>

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.

<figure><img src="/files/ANl6uGLJKeafWIzR8nnw" alt=""><figcaption></figcaption></figure>

Podemos efetuar, por exemplo, a adição do usuário em um grupo especifico, já criado e configurado com alguns limites de acesso.

<figure><img src="/files/Wc40zwfS9AtYFxjRyWCL" alt=""><figcaption></figcaption></figure>

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.

<figure><img src="/files/pJU0qySx6EoCpLH1oghs" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.userauth.com.br/configurando-o-seu-userauth/escolha-as-suas-autenticacoes/opcoes-de-autenticacoes-avancadas/autenticacao-em-banco-de-dados-corporativos-atraves-de-url-webservice.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
