4D v14.3Méthode base Sur authentification SQL |
|||||||||||||||||||
|
4D v14.3
Méthode base Sur authentification SQL
|
Paramètres | Type | Description |
$1 | Texte | Nom d’utilisateur |
$2 | Texte | Mot de passe |
$3 | Texte | (Facultatif) Adresse IP du client à l’origine de la requête |
$0 | Booléen | Vrai = requête acceptée, Faux = requête rejetée |
Vous devez déclarer ces paramètres de la manière suivante :
Le mot de passe ($2) est reçu en texte standard.
Vous devez contrôler les identifiants de la connexion SQL dans la Méthode base Sur authentification SQL. Par exemple, vous pouvez contrôler le nom et le mot de passe à l’aide d’une table d’utilisateurs personnalisée. Si les identifiants sont valides, passez Vrai dans $0. Sinon, passez Faux dans $0, dans ce cas la connexion est rejetée.
Si vous avez passé Vrai dans $0, vous devez ensuite appeler avec succès la commande CHANGER UTILISATEUR COURANT dans la Méthode base Sur authentification SQL pour que la requête soit acceptée et que 4D ouvre une session SQL pour l’utilisateur.
L’utilisation de la commande CHANGER UTILISATEUR COURANT permet de mettre en place un système d'authentification virtuelle ayant comme double avantage le contrôle des actions au sein de la connexion et le masquage pour l’extérieur des identifiants de la connexion dans la session SQL 4D.
Note : Si la Méthode base Sur authentification SQL n’existe pas, la connexion est évaluée à l’aide du système intégré de gestion des utilisateurs de 4D s’il est actif, c’est-à-dire si un mot de passe a été attribué au Super_Utilisateur. Si le système n'est pas actif, les utilisateurs sont connectés avec les droits du Super_Utilisateur (accès libre).
Cet exemple de Méthode base Sur authentification SQL vérifie que la demande de connexion provient du réseau interne, valide les identifiants puis affecte les droits d’utilisateur "sql_user" pour la session SQL.
C_TEXTE($1;$2;$3)
C_BOOLEEN($0)
`$1 : utilisateur
`$2 : mot de passe
`{$3 : Adresse IP du client}
APPELER SUR ERREUR("SQL_error")
Si(checkInternalIP($3))
`La méthode checkInternalIP vérifie que l’adresse IP est interne
Si($1="victor") & ($2="hugo")
CHANGER UTILISATEUR COURANT("sql_user";"")
Si(OK=1)
$0:=Vrai
Sinon
$0:=Faux
Fin de si
Sinon
$0:=Faux
Fin de si
Sinon
$0:=Faux
Fin de si
Produit : 4D
Thème : SQL
Nom intl. : On SQL Authentication Database Method
4D - Langage ( 4D v12.4)
4D - Langage ( 4D v11 SQL Release 6)
4D - Langage ( 4D v14 R3)
4D - Langage ( 4D v14 R2)
4D - Langage ( 4D v13.5)
4D - Langage ( 4D v14.3)
4D - Langage ( 4D v14 R4)