O Método de base On SQL Authentication pode ser utilizado para filtrar os pedidos enviadas ao servidor SQL integrado de 4D. Este filtro pode estar baseado no nome e senha, assim como 7(opcional) no endereço IP do usuário. O desenvolvedor pode utilizar sua própria tabela de usuários ou a dos usuários 4D para avaliar os identificadores de conexão. Quando tiver validada a conexão, o comando CHANGE CURRENT USER pode ser utilizado para controlar o acesso das pedidos dentro do banco 4D.
Quando existir, o
Método de base On SQL Authentication é chamado automaticamente por 4D ou 4D Server em cada conexão externa ao servidor SQL. Portanto o Sistema interno de gestão dos usuários de 4D não está ativado. A conexão é aceita apenas se o método de banco retorna True
em $0 e se o comando
CHANGE CURRENT USER for executado com êxito. Se uma destas condições não for cumprida, o pedido é recusado.
Nota: a instrução SQL LOGIN(SQL_INTERNAL;$usuário;$senha) não chama ao
Método de base On SQL Authentication já que é uma conexão interna neste caso.
O método de banco de dados recebe até três parâmetros de tipo Texto, passados por 4D ($1, $2 e $3) e retorna um booleano, $0. Esta é a descrição desses parâmetros:
Parâmetros | Tipo | Descrição |
$1 | Texto | Nome de usuário |
$2 | Texto | Senha |
$3 | Texto | (opcional) Endereço IP do cliente na origem do pedido |
$0 | Booleano | True = pedido aceito, False = pedido recusado |
Deve declarar estes parâmetros desta forma:
A senha ($2) é recebida como texto padrão.
Deve controlar os identificadores da conexão SQL no
Método de base On SQL Authentication. Por exemplo, pode verificar o nome e a senha utilizando uma tabela de usuários personalizada. Se os identificadores forem válidos, passe
True em $0 para aceitar a conexão.
Do contrário, passe
False em $0; neste caso, a conexão é recusada.
Por padrão, $0 é igual a
False. Se
Método de base On SQL Authentication existir e se $0 não estiver definido, todas as conexões são recusadas.
Nota: Se
Método de base On SQL Authentication não existir, a conexão é avaliada utilizando o Sistema integrado de gestão de usuários de 4D (Se estiver ativado, em outras palavras, se uma senha tiver sido atribuída ao Desenhista). Se este Sistema não estiver ativado, os usuários estão conectados com os direitos de acesso do Desenhista (acesso livre).
Se passa
True em $0, deve chamar com sucesso ao comando
CHANGE CURRENT USER no
Método de base On SQL Authentication para que a pedido seja aceito e para que 4D abra uma sessão SQL para o usuário.
O uso do comando
CHANGE CURRENT USER pode ser usada para implementar um sistema de autenticação virtual que tem a dupla vantagem de permitir o controle das ações de conexão e de esconder os identificadores da conexão na sessão SQL 4D.
Este exemplo do
Método de base On SQL Authentication verifica que o pedido de conexão provenha da rede interna, confirma os identificadores e depois atribui os direitos de acessos "sql_user" para a sessão SQL.