Y a t'il une fonction dans XMLComponents qui permet de récupérer des paramètres fournis sous la forme "A=1&B=2&C=3" dans un TStrings ?
Version imprimable
Y a t'il une fonction dans XMLComponents qui permet de récupérer des paramètres fournis sous la forme "A=1&B=2&C=3" dans un TStrings ?
J'ai une première solution mais je préférerais utiliser quelque chose qui existe déjà dans XMLComponents :
slPARAMS := TStringList.Create;
try
slPARAMS.CommaText := StringReplace(XMLRequest.Context.GetValue('RedirectLinkPARAMS'),'&',#13#10,[rfReplaceAll]);
AssignXMLContext(XMLRequest.Context, slPARAMS);
finally
slPARAMS.Free;
end;
pourquoi les voudrais'tu dans une TStrings ?
ils sont dans le Context ou dans XMLRequest.HTTPFields (qui est un TStrings)
Non, en fait c'est pour gérer l'insertion d'une page de login :
Dans mon application un client reçoit un mail qui contient un raccourci vers un document le concernant lui et lui seul donc il doit ouvrir une session pour le consulter ou alors utiliser une session déjà ouverte. Dans le cas de l'affichage de la fiche de login, je récupère le nom et les paramètres de la page demandée à l'origine (Request.PathInfo et Request.Query) afin de créer une redirection après un login réussi, la redirection est réalisée du coté serveur dans LoginBeforeXMLGram, NextAction prend la valeur de PathInfo et je dois récréer le contexte correspondant à la page demandée à l'origine, je ne passe pas par une page intermédiaire donc je dois recréer ce contexte à la main à partir de Request.Query. Ma question est en fait "existe il une fonction permettant de faire cela simplement ?".
J'ai pas tout compris mais je suppose que tu ne veux pas utiliser la boite de Login XMLRAD qui a deja toute cette mécanique intégrée, n'est-ce pas ?
En fait c'est pas que je ne veux pas c'est que je ne peux pas, j'accède à une base de données pour stocker les informations de la session et pour lire le login/mot de passe.
D'ailleurs j'ai encore une question : je récupère les paramètres d'une requête GET dans "Request.Query" mais où peut on récupérer les paramètres quand la requête est de type POST ? Vous les récupérez dans HTTPFields mais celui ci est accessible via TXMLCursor mais pas IMLCursor. en plus je ne veux que les paramètres du formulaire, pas tout le contexte.
ca n'empeche pas de reprendre la mécanique de de redirection utilisé dans le FormLogin
L'idée serait rde réutiliser la boite de Login XMLRAD en récupérant la liste des utilisateurs/mdp de la base et de les mettre dans le fichier security de XMLRAD. sinon vous n'allez pas bénéficier des prochaines fonctionnalités qui vont être implémentés comme les sessions, le clipboard et les profils.
Je verrai le moment venu, pour l'instant je n'ai pas le temps de mettre ca en place.
En attendant j'aimerai rendre completement fonctionnel mon système et pour cela il faudrait que j'ai accès à XMLRequest.HTTPFields mias je ne sais pas comment faire.
je m'a gouré, HTTPFields n'est pas dispo depuis l'interface de IXMLRequest...
pas d'idée pour ton problème autrement....