AnsweredAssumed Answered

Surf: authentification (+ redirection, companyhome)

Question asked by yerb on Mar 31, 2009
Bonjour,
J'ai installé Alfresco Labs 3.0 sur Windows XP et je débute le développement sur Surf mais je rencontre quelques problèmes.

Mon premier souci est l'authentification.
- j'ai créé un web script GET de login qui expose un formulaire avec les champs "username" et "password".
- j'ai créé un web script POST (.js) qui fait ceci (en version rapide) :
remote.connect("alfresco").call("/api/login?u=" + vUsername + "&pw=" + vPassword);
la réponse contient un ticket que je récupère.

A partir de ce point je souhaite rediriger sur une autre page (upload de fichier), accessible aux utilisateurs connectés, j'ai donc défini la nouvelle page comme suit :

<?xml version='1.0' encoding='UTF-8'?>
<page>
  <title>Upload</title>
  <description>Upload page</description>
  <template-instance>upload</template-instance>
  <authentication>[b]user[/b]</authentication>
</page>
Pour la redirection, j'ai mis ceci dans login.post.html.ftl :

<script type="text/javascript">
  window.location = "${url.context}/page?p=upload&alf_ticket=${ticket}";
</script>
Pas bien propre c'est sûr, mais je n'ai pas encore trouvé mieux.

J'ai alors ce message :

org.alfresco.error.AlfrescoRuntimeException: No 'login' page type configured - but page auth required it.
Je vois donc deux soucis :
- je n'ai pas défini de type de page 'login' qui permettrait au moins la redirection vers ma page de login
- je ne suis pas authentifié. J'ai l'impression que le paramètre alf_ticket ne sert à rien dans ce cas. J'aurais bien récupéré l'utilisateur pour le stocker en session mais je ne sais pas comment faire.

J'ai tenté de poursuivre en spécifiant <authentication>none</authentication> pour la page de destination. Pour la page d'upload j'ai repris le web script d'upload du wiki mais l'objet companyhome n'est pas disponible. Je lis dans le wiki :

companyhome
    the company home folder (only available if authenticated)
N'étant pas identifié cela semble normal, mais ce sujet sur Share suggère que companyhome ne serait peut-être pas disponible pour Surf. Pourrai-je utiliser cet objet une fois identifié ?

Merci d'avance

Outcomes