Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
|||||||||||||||||
|
4D v20 R7
Método de base On SQL Authentication
|
Parámetros | Tipo | Descripción |
$1 | Texto | Nombre de usuario |
$2 | Texto | Contraseña |
$3 | Texto | (opcional) Dirección IP del cliente al origen de la petición (*) |
$0 | Booleano | True = petición aceptada, False = petición rechazada |
(*) 4D devuelve las direcciones IPv4 en un formato híbrido IPv6/IPv4 escrito con un prefijo de 96 bits, por ejemplo ::ffff:192.168.2.34 para la dirección IPv4 192.168.2.34. Para mayor información, consulte la sección Soporte de IP v6.
Debe declarar estos parámetros de esta forma:
` Método de base On Web Authentication
C_TEXT($1;$2;$3;$4)
C_BOOLEAN($0)
` Código para el método
La contraseña ($2) se recibe como texto estándar.
Debe controlar los identificadores de la conexión SQL en el Método de base On SQL Authentication . Por ejemplo, puede verificar el nombre y la contraseña utilizando una tabla de usuarios personalizada. Si los identificadores son válidos, pase True en $0 para aceptar la conexión y la petición. 4D abre una sesión SQL para el usuario. De lo contrario, pase False en $0; en este caso, la conexión se rechaza.
Nota: si el Método de base On SQL Authentication no existe, la conexión se evalúa utilizando el sistema integrado de gestión de usuarios de 4D (si está activo, en otras palabras, si una contraseña ha sido asignada al Diseñador). Si este sistema no está activado, los usuarios están conectados con los derechos de acceso del Diseñador (acceso libre).
Si pasa True en $0, debe llamar exitosamente al comando CHANGE CURRENT USER en el Método de base On SQL Authentication para que la petición sea aceptada y para que 4D abra una sesión SQL para el usuario.
El uso de este comando se recomienda porque permite un mayor nivel de seguridad. Esta autenticación virtual tiene la doble ventaja de permitir el control de las acciones de conexión y de ocultar para el exterior los identificadores de la conexión en la sesión SQL 4D.
Cuando el sistema de contraseñas integrado de 4D no está activo, la ejecución del comando CHANGE CURRENT USER no tiene efecto; los usuarios se conectan con los derechos de acceso del Diseñador.
Este ejemplo del Método de base On SQL Authentication verifica que la petición de conexión provenga de la red interna, valida los identificadores y luego asigna los derechos de accesos "sql_user" para la sesión SQL.
C_TEXT($1;$2;$3;$4)
C_BOOLEAN($0)
`$1: usuario
`$2: contraseña
`{$3: dirección IP del cliente}
ON ERR CALL("SQL_error")
If(DirIPInterna($3))
`El método DirIPInterna verifica si la dirección IP es 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
Producto: 4D
Tema: SQL
Manual de lenguaje 4D ( 4D v20 R7)