Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
|||||||||||||||||
|
4D v20 R7
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 |
(*) 4D devolve os endereços IPv4 em um formato híbrido IPv6/IPv4 escrito com um prefixo de 96 bits, por exemplo ::ffff:192.168.2.34 para o endereço IPv4 192.168.2.34. Para maior informação, consulte Suporte de IP v6.
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) 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 v20 R7)