4D v12.4

Método de base On SQL Authentication

Página Inicial

 
4D v12.4
SQL
Método de base On SQL Authentication

 

Método de base On SQL Authentication  


 

 

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âmetrosTipoDescrição
$1TextoNome de usuário
$2TextoSenha
$3Texto(opcional) Endereço IP do cliente na origem do pedido
$0BooleanoTrue = pedido aceito, False = pedido recusado


Deve declarar estes parâmetros desta forma:
  ` Método de base On Web Authentication
 C_TEXT($1;$2;$3;$4)
 C_BOOLEAN($0)
  ` Código para o método


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.
 C_TEXT($1;$2;$3;$4)
  C_BOOLEAN($0)
 &NBSP`$1: usuário
 &NBSP`$2: senha
 &NBSP`{$3: endereço IP do cliente}
  ON ERR CALL("SQL_erro")
  If(EndIPInterno($3))
 &NBSP`O método EndIPInterno verifica Se o endereço IP é interno
  If($1="victor") & ($2="hugo")
  CHANGE CURRENT USER("sql_user";"")
  If(OK=1)
 $0:=True
Else
 $0:=False
End if
Else
$0:=False
End if
Else
$0:=False
End if
 

 
PROPRIEDADES 

Produto: 4D
Tema: SQL

 
VER TAMBÉM 

CHANGE CURRENT USER