6 La navigation dans le manuel de Kentika est réservée aux utilisateurs identifiés
Serveur web, identification et gestion du contexte
Le logiciel accorde une grande place à la gestion des autorisations d'accès et effectue les mêmes contrôles dans l'application (en client lourd) que sur l'interface web (client léger). Ainsi, lorsqu'un internaute accède à la base de données, son environnement est chargé dès qu'il a été reconnu et toutes les actions qu'il sera amené à effectuer tiendront compte de cet environnement.
Rappelons ici que lorsqu'un internaute visite le site, il hérite automatiquement des droits affectés à l'utilisateur générique dont l'identifiant est "Guest". Si un groupe ayant pour intitulé "Guest" existe et que le paramètre "X_GU" a la valeur "1", ce groupe est ajouté au profil de tout internaute.
L'environnement de travail n'est chargé que pour les requêtes pouvant provoquer un accès aux données. Ainsi il est chargé pour l'affichage d'une liste mais ne l'est pas pour l'affichage d'une icône. Il est régulièrement recalculé et cette fréquence est fixée en paramétrage du serveur.
Lorsqu'un internaute affiche une liste, son contenu est conservé temporairement dans le dossier temporaire de l'application et elle est rappelée (à partir du paramètre "idlist") dès que l'internaute va naviguer au sein de cette liste.
Ces éléments correspondent à tout ce qui peut varier d'un internaute à l'autre, à savoir :
les tables accessibles tel que déclaré dans les autorisations
pour ces tables, les types autorisés
les rubriques visibles
les enregistrements autorisés pour chacune des tables en tenant compte des éventuelles restrictions
la liste et le contenu des dossiers
les outils que l'internaute va pouvoir utiliser : les requêtes, les maquettes
ainsi que le tableau permettant à la fonction x_Autorize de savoir si un internaute dispose d'une autorisation donnée.
Par ailleurs, les variables suivantes sont automatiquement alimentées :
Nom de la variable Description
TPathTempAR Dossier du contexte de l'utilisateur (dans WEBUSERS)
AIDent Identifiant de l'internaute (s'il est connu)
AIDent_Site Site d'appartenance de l'utilisateur connecté
AIdent_Temp Identifiant ou identifiant temporaire
ALang Code de la langue de l'utilisateur (la dernière sélectionnée)
EModeList Mode de présentation des listes de résultats
Toutes les URL déclenchent par défaut un chargement de l'environnement, sauf celles pour lesquelles cela n'a pas de sens et ne ferait que ralentir le processus, à savoir :
"Home.gif" ou "Home.jpg" : affichage du logo du site ou de l'icône dont le nom serait Cx ou Context suivi du numéro de contexte
Toute URL se terminant par ".gif" ou ".ico" ou bien commençant par "ressource."
Les requêtes contenant "/plugins/" (cas du plugin de recherche de Firefox)
Lorsqu'un internaute effectue une demande à un serveur web, si cette demande est la première sollicitation, un identifiant temporaire lui est affecté (exemple : "G0000001") et un cookie lui est envoyé. Lorsque cet internaute s'identifie, ce cookie est modifié et le nouveau cookie d'identification contient son identifiant (tel que déclaré dans la base de données). NB : les cookies sont codés afin d'éviter le piratage d'un identifiant.
NB : si les cookies ne sont pas acceptés par l'internaute, l'application peut basculer sur une identification par adresse IP. Si cette méthode est fiable en intranet, elle atteint ses limites en internet car l'adresse IP vue du serveur est en général celle du routeur et plusieurs internautes pourraient avoir la même adresse IP, ce qui perturberait le fonctionnement.
Il existe plusieurs façons de connaître l'identifiant de qui visite le site.
La plus courante, cette méthode consiste à faire saisir à l'internaute son identifiant et son mot de passe.
Identification demandée, cas où le site n'autorise pas les invités
Après vérification des renseignements saisis, l'application adressera au navigateur de l'internaute le cooky.
Cette méthode consiste à faire calculer un jeton par une application web située en amont qui aurait préalablement identifié l'internaute.
Réservée à certains cas particuliers, cette méthode consiste à transmettre à l'aplication l'identifiant d'un utilisateur, sans son mot de passe, et à faire en sorte que l'application l'accepte.
Pour cela, il faut déclarer un paramètre "W_PI" et lui affecter comme valeur les URL autorisées en connexion directe. Pour chaque URL ainsi définie, une clé de vérification peut être éventuellement affectée (elle est alors indiquée sous la forme :Key= suivi de la valeur, cf. exemple). La présence de cette dernière est vérifiée avant d'accepter le traitement de l'URL.
Exemple
Si le paramètre "W_PI" contient une ligne avec la valeur suivante :
ListRSS.htm:Key=ARSEN
alors l'URL suivante sera traitée correctement, même si DOC n'est pas identifié :
http://192.168.0.20/ListRSS.htm?Key=ARSEN&ident=DOC
Plusieurs solutions peuvent être mises en oeuvre, chacune présentant ses avantages et ses contraintes. Il est conseillé ici de vous adresser en premier lieu à votre conseil Kentika.
Lorsqu'une URL est recue par le serveur, une série de pré-traitement(s) est prise en charge.
Si un nom de script est précisé dans la fiche paramètre "W_ST", celui-ci est exécuté avant toute autre opération. Il est ainsi possible de modifier l'URL demandée en modifiant le contenu de l'en-tête http qui se trouve dans la variable THeader.
Si l'appel fait référence à une liste d'enregistrements, le numéro de cette dernière est alors transmis sous la forme "idlist=". Cette liste est stockée dans le dossier de contexte de l'utilisateur.
NB : les listes temporaires sont automatiquement créées lors de l'appel à u_select.
Listes temporaires stockées dans le dossier de l'internaute du coté du serveur
Lorsqu'une telle liste est indiquée dans une URL, son contenu est automatiquement chargé et les variables suivantes alimentées :
Nom de la variable Description
LSelect1 Numéro de la liste
LTNumRecList Tableau entier long des numéros d'enregistrements
A_Titre Titre de la liste
TssTitre Description ou commentaire
eList_FileNum Numéro de la table
TnbRecord Contenu (nombre d'enregistrements)
Exemple
Lors de l'appel à l'URL suivante :
http://www.a-ressources.net/ListRecord.htm?idlist=10 &Range=0002
Le logiciel charge automatiquement le contenu de la liste 10 et tient compte, dans la boucle d'affichage, que cette dernière concerne la page 2 (range=2), le nombre d'élements par page étant chargé dans la variable EList_NbElements à partir du contenu du paramètre "W_NL " dont la valeur par défaut peu être précisée en paramétrage du serveur web. Il est possible de proposer à chaque internaute de modifier cette valeur par défaut en ajoutant simplement "&Nblines=(valeur) " au sein de n'importe quelle URL.
Pour des raisons de confidentialité, ce paramètre est toujours codé. Son codage est assuré par la fonction html_code. Après décodage du numéro d'enregistrement, le logiciel vérifie que l'internaute qui demande cet enregistrement a bien le droit d'y accéder. Si oui, l'enregistrement devient l'enregistrement courant et les variables suivantes sont automatiquement chargées et peuvent être manipulées par programmation. Si non, la variable TMes contient le message "valeur inconnue dans le fichier".
Nom de la variable Description
LForm_Record_num Numéro de l'enregistrement
eRecordAut Niveau d'autorisation sur l'enregistrement
-1 : acces non autorisé
0 : consultation seulement
1 : modification autorisée
2 : suppression autorisée
eList_FileNum Numéro de la table
AForm_Record_Type Type ou nom de la table (dans la langue choisie par l'internaute)
AForm_Record_Site Code du site de rattachement
ColT Code de la couleur du texte (valeur par défaut : 0) affecté au type
ColF Code de la couleur de fond du texte (valeur par défaut : 15132380)
TForm_Logo Lien image de l'icône affectée au type
TSCR Description javascript du tableau des paniers
Une fois ces étapes franchies, le serveur charge la ressource Web, l'analyse et effectue les traitements éventuels spécifiés dans les ressources afin de composer la page.
Powered by KENTIKA Atomic - © Kentika 2025 tous droits réservés - Mentions légales