4D v16.3Méthode base Sur authentification Web |
|||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Méthode base Sur authentification Web
|
Paramètres | Type | Description |
$1 | Texte | URL |
$2 | Texte | En-tête + Corps HTTP (32 ko maximum) |
$3 | Texte | Adresse IP du navigateur |
$4 | Texte | Adresse IP appelée du serveur |
$5 | Texte | Nom d’utilisateur |
$6 | Texte | Mot de passe |
$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 :
` Méthode base Sur authentification Web
C_TEXTE($1;$2;$3;$4;$5;$6)
C_BOOLEEN($0)
` Code pour la méthode
Note : Tous les paramètres de la Méthode base Sur authentification Web ne sont pas forcément remplis. Les informations reçues par la méthode base dépendent des options que vous avez sélectionnées dans la boîte de dialogue des Propriétés de la base. Référez-vous à la section Sécurité des connexions.
URL saisi dans le navigateur Web | Valeur du paramètre $1 |
123.4.567.89 | / |
http://123.4.567.89 | / |
123.4.567.89/Clients | /Clients |
http://123.4.567.89/Clients | /Clients |
http://123.4.567.89/Clients/Ajouter | /Clients/Ajouter |
123.4.567.89/Faire_ceci/Si_OK/Faire_cela | /Faire_ceci/Si_OK/Faire_cela |
Notes :
Note : Si le nom d’utilisateur envoyé par le navigateur existe dans 4D, pour des raisons de confidentialité le paramètre $6 n’est alors pas rempli (il reçoit une chaîne vide).
La Méthode base Sur connexion Web n’est exécutée que si la connexion est acceptée par Sur authentification Web.
ATTENTION : Si aucune valeur n’est passée dans $0, ou si $0 n’est pas définie dans la Méthode base Sur authentification Web, la connexion sera considérée comme acceptée, et la Méthode base Sur connexion Web sera exécutée.
Notes :
La Méthode base Sur authentification Web est automatiquement appelée, quel que soit le mode, lorsqu’une requête ou un traitement nécessite l'exécution d'une méthode 4D. Elle est également appelée lorsque le serveur Web reçoit un URL statique invalide (par exemple, si la page statique demandée n'existe pas).
La Méthode base Sur authentification Web est donc appelée dans les cas suivants :
A noter que la Méthode base Sur authentification Web n'est PAS appelée lorsque le serveur reçoit un URL demandant une page statique valide.
Exemple de Méthode base Sur authentification Web en mode BASIC :
`Méthode base Sur authentification Web
C_TEXTE($5;$6;$3;$4)
C_TEXTE($utilisateur;$motPasse;$IPBrowser;$IPServer)
C_BOOLEEN($utilisateur4D)
TABLEAU TEXTE($utilisateurs;0)
TABLEAU ENTIER LONG($nums;0)
C_ENTIER LONG($upos)
C_BOOLEEN($0)
$0:=Faux
$utilisateur:=$5
$motPasse:=$6
$IPBrowser:=$3
$IPServer:=$4
`Pour des raisons de sécurité, refuser les noms qui contiennent @
Si(AvecJoker($utilisateur)|AvecJoker($motPasse))
$0:=Faux
`La méthode AvecJoker est décrite ci-dessous
Sinon
`Vérifier si c’est un utilisateur 4D
LIRE LISTE UTILISATEURS($utilisateurs;$nums)
$upos:=Chercher dans tableau($utilisateurs;$utilisateur)
Si($upos >0)
$utilisateur4D:=Non(Utilisateur supprime($nums{$upos}))
Sinon
$utilisateur4D:=Faux
Fin de si
Si(Non($utilisateur4D))
`Ce n’est pas un utilisateur défini dans 4D, chercher dans la table des utilisateurs Web
CHERCHER([WebUsers];[WebUsers]User=$utilisateur;*)
CHERCHER([WebUsers]; & [WebUsers]Password=$motPasse)
$0:=(Enregistrements trouves([WebUsers])=1)
Sinon
$0:=Vrai
Fin de si
Fin de si
`Est-ce une connexion intranet ?
Si(Sous chaine($IPBrowser;1;7)#"192.100.")
$0:=Faux
Fin de si
Exemple de méthode base Sur authentification Web en mode DIGEST :
//Méthode base Sur authentification Web
C_TEXTE($1;$2;$5;$6;$3;$4)
C_TEXTE($utilisateur)
C_BOOLEEN($0)
$0:=Faux
$utilisateur:=$5
//Pour des raisons de sécurité, refuser les noms qui contiennent @
Si(AvecJoker($utilisateur))
$0:=Faux
//La méthode AvecJoker est décrite ci-dessous
Sinon
CHERCHER([WebUsers];[WebUsers]User=$utilisateur)
Si(OK=1)
$0:=WEB Valider digest($utilisateur;[WebUsers]Mdp)
Sinon
$0:=Faux //Utilisateur inexistant
Fin de si
Fin de si
La Méthode projet AvecJoker est décrite ci-dessous :
//Méthode projet AvecJoker
//AvecJoker ( Chaine ) -> Booléen
//AvecJoker ( Nom ) -> Contient un joker
C_ENTIER LONG($i)
C_BOOLEEN($0)
C_TEXTE($1)
$0:=Faux
Boucle($i;1;Longueur($1))
Si(Code de caractere(Sous chaine($1;$i;1))=Code de caractere("@"))
$0:=Vrai
Fin de si
Fin de boucle
Méthode base Sur connexion Web
Présentation des méthodes base
Sécurité des connexions
URLs et actions de formulaires
Produit : 4D
Thème : Serveur Web
Nom intl. : On Web Authentication Database Method
4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)