cocoon-users-fr mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aurélien DEHAY ...@zorel.org>
Subject autf-fw et login en utf-8
Date Fri, 08 Apr 2005 14:14:41 GMT
Bonjour.

La revanche de l'utf-8. Maintenant que j'ai réussi a avoir des uri en
utf-8, et que ça fonctionne bien, je m'attaque aux logins, via l-auth-fw
de cocoon, en utf-8 également.

Topo rapide:

- auth-fw
- Utilisation des flow
(org/apache/cocoon/webapps/authentication/flow/javascript/auth.js du
block auth-fw)
- le <authentication> de mon handler est un tuyau qui appelle un fichier
login.xsp (esql).

J'ai donc écrit une fonction login() qui est appelée dans un tuyau au
clic du «login» dans un formulaire, et qui contient en particulier ça:

if (auth_login(handler, null, {"parameter_login":login,
"parameter_password":password})) { etc. etc.


Quand j'essaye un login en utf-8 (par exemple €), ce qui est récupéré
dans la fonction login() est bon. Par contre, le paramètre récupéré dans
le login.xsp ne l'est pas. Quand j'affiche (via
java.lang.System.out.println) la valeur du paramètre, j'obtient dans le
flow le caractère €, mais dans le login.xsp, j'ai la suite â¬, cequi me
rappelle douloureusement quelque chose.

J'ai cherché un peu dans le code, je n'ai rien vu de probant concernant
cette conversion. Quelqu'un aurait-il déjà expérimenté ce genre de
chose?

J'ai modifié le flowscript auth.js fourni dans le block, afin qu'il
affiche les données à l'arrivée :

function auth_login(handler, application, params) {

    var authParams = new Packages.org.apache.excalibur.source.SourceParameters();
    for (var name in params) {
      if (name.substring(0,10).equals("parameter_")) {
          java.lang.System.out.println("auth.js: nom: "+name+"   valeur:"+params[name]);
        authParams.setParameter(name.substring(10), params[name]);
      }
    }
    var authMgr;
    try {
        authMgr = cocoon.getComponent(Packages.org.apache.cocoon.webapps.authentication.AuthenticationManager.ROLE);
        return authMgr.login( handler, application, authParams) != null;
    } finally {
        cocoon.releaseComponent(authMgr);
    }
}

La sortie est bien correcte, je suppose donc que c'est à l'appel à
l'authMgr ou dans ce qui est appelé ensuite qu'il y a un problème, sans
malheureusement avoir les compétences en Java pour déterminer l'origine
exacte.

Si quelqu'un pouvait m'aiguiller sur le champs de recherche, cela
m'aiderai grandement.

Cdlt.
-- 
Aurélien DEHAY <ad@zorel.org>


---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Mime
View raw message