4D v16Configuration de la base 4D |
||
|
4D v16
Configuration de la base 4D
Configuration de la base 4D
Pour des raisons de sécurité et de performance, l’accès aux tables, données et méthodes de la base 4D via des requêtes 4D Mobile (serveurs Wakanda) doit être activé et explicitement autorisé. Vous devez configurer trois niveaux d’accès :
Par défaut, 4D Server ne répond pas aux requêtes 4D Mobile. Vous devez démarrer les services 4D Mobile afin que ces requêtes soient traitées et que le connecteur 4D / Wakanda puisse être mis en place. Note : Les services 4D Mobile utilisent le serveur HTTP de 4D. Par conséquent, assurez-vous que le serveur Web de 4D ou 4D Server est démarré. Pour activer les services 4D Mobile :
Le contrôle des accès 4D Mobile permet d’autoriser ou non l’ouverture d’une session côté 4D à la suite d’une requête Wakanda. Dans le cadre d’un accès 4D Mobile, les identifiants contrôlés sont le nom et le mot de passe envoyés lors de la demande de connexion effectuée par :
Au niveau global, les accès 4D Mobile peuvent être contrôlés de deux manières :
Ces deux modes de contrôle sont exclusifs : si une Méthode base Sur authentification 4D Mobile est définie, le contrôle des accès automatique par mots de passe 4D est désactivé. Attention, si aucun de ces deux modes de contrôle n’est activé, les accès 4D Mobile à la base sont toujours acceptés (déconseillé). 4D vous permet de désigner le groupe d’utilisateurs qui sera autorisé à établir la connexion au serveur 4D depuis l’application Wakanda. Pour désigner le compte d’ouverture de session :
Une fois que vous avez désigné un groupe, seul un compte d’utilisateur 4D appartenant à ce groupe pourra être utilisé pour accéder à 4D via une requête Wakanda -- pour ouvrir une session sur le serveur 4D via la méthode mergeOustideCatalog() par exemple. Si un compte n’appartenant pas à ce groupe est utilisé, 4D retourne une erreur d’authentification à l’expéditeur de la requête. A noter que pour que ce paramétrage soit effectif :
La Méthode base Sur authentification 4D Mobile vous permet de contrôler de manière personnalisée l’ouverture des sessions 4D Mobile sur 4D. Lorsqu'elle est définie, elle est automatiquement appelée par 4D ou 4D Server lorsqu'une requête 4D Mobile est reçue par le serveur HTTP. Lorsque la demande d’ouverture de session 4D Mobile provient de Wakanda Server (cas général), les identifiants de connexion sont fournis dans l’en-tête de la requête. La méthode base Sur authentification 4D Mobile est appelée afin de vous permettre d’évaluer ces identifiants. Vous pouvez utiliser la liste des utilisateurs de la base 4D ou votre propre table d’identifiants. Pour plus d'informations, reportez-vous à la description de la Méthode base Sur authentification 4D Mobile dans le manuel Langage de 4D. Une fois que les services 4D Mobile sont activés dans la base 4D, par défaut une session 4D Mobile peut accéder à toutes les tables et tous les champs de la base, et donc utiliser leurs données. Par exemple, si votre base contient une table [Employee], il est possible d’écrire côté Wakanda Server : var emp=ds.Employee.query("name == 'Martin'"); //Retourner tous les employés dont le champ nom vaut ’Martin’ Note : Les tables et/ou champs 4D ayant l’attribut "Invisible" sont également exposés en 4D Mobile par défaut. Le serveur Wakanda peut également accéder aux méthodes projet de la base 4D. Toutefois, par défaut, cet accès est inactivé pour des raisons de sécurité. Si vous souhaitez personnaliser la liste des objets de votre base accessibles en 4D Mobile, vous devez :
Lorsqu’une requête 4D Mobile tente d’accéder à une ressource (table ou méthode projet) non autorisée, 4D retourne une erreur. Par défaut, toutes les tables sont exposées en 4D Mobile. Pour des raisons de sécurité, vous pouvez souhaiter ne pas exposer certaines tables de votre base aux appels 4D Mobile. Par exemple, si vous avez créé une table [Users] dans laquelle vous stockez les noms et mots de passe des utilisateurs, il est préférable de ne pas l’exposer. Pour modifier l’exposition 4D Mobile d’une table :
Par défaut, tous les champs de la base 4D sont exposés en 4D Mobile. Vous pouvez souhaiter ne pas exposer à 4D Mobile certains champs de vos tables. Par exemple, vous pouvez vouloir ne pas exposer le champ [Employés]Salaire. Pour modifier l’exposition 4D Mobile d’un champ :
A noter que pour qu’un champ soit accessible via 4D Mobile, la table parente doit également l’être. Si la table parente n’est pas exposée, aucun champ de la table ne sera accessible, quel que soit son statut. Grâce à ce mécanisme, vous pouvez activer ou désactiver temporairement l’exposition 4D Mobile d’une table, la valeur individuelle de l’option d’exposition de chaque champ n’est pas modifiée. Par défaut, aucune méthode projet n’est exposée en 4D Mobile. Vous pouvez souhaiter rendre accessibles via 4D Mobile une ou plusieurs méthode(s) projet de votre base 4D. Pour cela, vous devez cocher l’option appropriée et définir le contexte d’exécution Wakanda de la méthode. Note : Si un groupe d’accès a été associé à la méthode 4D, vous devez veiller à ce que le groupe 4D Mobile soit inclus dans ce groupe. Pour définir l’exposition 4D Mobile d’une méthode projet :
Lorsque vous déclarez une méthode projet disponible via les requêtes 4D Mobile, vous devez déclarer explicitement son contexte d’appel à l’aide des paramètres Table et Portée.
Attention : Lorsque vous modifiez l’exposition ou la portée d’une méthode projet côté 4D, il est nécessaire de recharger le modèle distant côté Wakanda afin de tenir compte des modifications effectuées. Lorsque les services 4D Mobile sont activés, les tables exposées en 4D Mobile et les méthodes projet qui leur sont rattachées sont affichées dans la page "Méthodes" de l’Explorateur de 4D, rubrique Méthodes 4D Mobile :
Voir aussi
|
PROPRIÉTÉS
Produit : 4D
HISTORIQUE
UTILISATION DE L'ARTICLE
4D Mobile ( 4D v16) |