4D v14.3Método de base On SQL Authentication |
|||||||||||||||||
|
4D v14.3
Método de base On SQL Authentication
|
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) se recebe como texto estandarte.
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 e a petição. 4D abre uma sessão SQL para o usuário. Caso contrário, passe False em $0; neste caso, a conexão é recusada.
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.
Quando o sistema de senhas integrado de 4D não está ativo, a execução do comando CHANGE CURRENT USER não tem efeito; os usuários se conectam com os direitos de acesso do Desenhador.
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)
`$1: usuário
`$2: senha
`{$3: endereço IP do cliente}
ON ERR CALL("SQL_error")
If(DirIPInterna($3))
`O método DirIPInterna verifica se o endereço IP é interna
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
Produto: 4D
Tema: SQL
Manual de linguagem 4D ( 4D v12.4)
Manual de linguagem 4D ( 4D v11 SQL Release 6)
Manual de linguagem 4D ( 4D v14 R3)
Manual de linguagem 4D ( 4D v14 R2)
Manual de linguagem 4D ( 4D v13.5)
Manual de linguagem 4D ( 4D v14.3)
Manual de linguagem 4D ( 4D v14 R4)