[Résolu] Authnetification web sripts

cancel
Showing results for 
Search instead for 
Did you mean: 
richardb
Member II

[Résolu] Authnetification web sripts

Bonjour,

Dans le cadre d'un déploiement d'alfresco, un client nous a demandé d'écrire un webscript permettant de visualiser et d'accéder à l'historique d'un document. Ce web scriptscript est appelé à partir d' une application (un ERP).

le webscipt se lance avec l'option "&guest=true" afin d'éviter une authentifcation.

le résultat se présente sous la forme de liens http ( le premier correspond la version en cours, les suivants à son historique).

Le probléme que je rencontre est :
          - Si l'utilisateur clique sur le lien correspondant à la version en cours, pas de probléme, le document s'ouvre bien sans authentification
          - Si l'utilisateur clique sur les liens correspondant à l'historique, une fenêtre d'authentification windows demande à l'utilisateur de s'identifier en tant qu'invité ce qui est trés génant

Je n'ai pas réussi à trouver la solution pour supprimer cette fenêtre. Pourquoi ?  Erreur de syntaxe dans le script ? Si quelqu'un a une piste ce sera avec plaisir

je vous mets en ligne le code de ce webscript

<#assign datetimeformat="EEEE dd/MM/yyyy">
<html>

  <head>

   <STYLE TYPE="text/css">
      a.rouge { color: red; }

      table.ged
      {
         font-family:verdana;
         font-size:12px;
      }


      td.ged
      {
         font-family:verdana;
         font-size:12px;
         padding-left:10px;
         padding-top:3px;
         padding-bottom:3px;
      }

   </STYLE>

  </head>
  <body BGCOLOR="E8EFF9">
    <h3>Recherche du dossier ${args.nom}</h3>
    <table class="ged" border=1 cellpadding=0 cellspacing=1 width=100%>
   
   <#list resultset?sort_by(["properties","{http://www.bonifay.com/model/content/1.0}type"])  as model>
         <tr>
         <td bgcolor="#DFE6EE"><i><b>${model.properties["{http://www.bonifay.com/model/content/1.0}type']}    &nbsp;</b></i><a href="http://192.168.10.47:8080/alfresco/service/bonifay/delete?nom=${model.name}?guest=true" class="rouge">Supprimer</a></td>
         </tr>
         <tr>
            <th></th><th bgcolor="#DFE6EE">Version</th><th bgcolor="#DFE6EE">Date de modification</th><th bgcolor="#DFE6EE">Commentaire</th><th bgcolor="#DFE6EE">Date d&#39;effet</th><th bgcolor="#DFE6EE">Date d&#39;échéance</th>
         </tr>
         <#assign first="true">
         <#list model.versionHistory?sort_by("versionLabel")?reverse as record>
            <#if first="true">
            <#assign first="false">
               <tr>
                  <td class="ged" ></td>
                  <td class="ged" ><a href="${url.serviceContext}/api/node/content/${model.nodeRef.storeRef.protocol}/${model.nodeRef.storeRef.identifier}/${model.nodeRef.id}/${model.name?url}?guest=true">${record.versionLabel}</a></td>
                  <td class="ged" >${record.createdDate?string(datetimeformat)}</td>
                  <td class="ged" ><#if record.description?exists>${record.description}<#else>Version initiale</#if></td>
                  <td class="ged" >${model.properties["{http://www.bonifay.com/model/content/1.0}emis']?string(datetimeformat)}</td>
                  <td class="ged" >${model.properties["{http://www.bonifay.com/model/content/1.0}validite']?string(datetimeformat)}</td>
               </tr>
            <#else>
               <tr>
                  <td class="ged" ></td>
                  <td class="ged" ><a href="/alfresco${record.url}?guest=true">${record.versionLabel}</a></td>
                  <td class="ged" >${record.createdDate?string(datetimeformat)}</td>
                  <td class="ged" ><#if record.description?exists>${record.description}<#else>Version initiale</#if>
                  <td class="ged" >${record.properties["{http://www.bonifay.com/model/content/1.0}emis']?string(datetimeformat)}</td>
                  <td class="ged" >${record.properties["{http://www.bonifay.com/model/content/1.0}validite']?string(datetimeformat)}</td>
               </tr>
            </#if>
            <#if record_has_next>
            </#if>
         </#list>
   </#list>
    </table>
  </body>
</html>

lien correspondant à la version en cours : <a href="${url.serviceContext}/api/node/content/${model.nodeRef.storeRef.protocol}/${model.nodeRef.storeRef.identifier}/${model.nodeRef.id}/${model.name?url}?guest=true">${record.versionLabel}</a>

lien correspondant à l&#39;historique du document : <a href="/alfresco${record.url}?guest=true">${record.versionLabel}</a>

Bien cordialement

Richard

Configuration :
  - Alfresco 3.0 Stable
  - Serveur Linux Centos 5.4
  - Authentification AD
  - ERP : X3
2 Replies
rivarola
Active Member

Re: [Résolu] Authnetification web sripts

Bonjour,
Le paramètre guest=true n'est pas reconnu par toutes les URL dans Alfresco. Dans le cas d'un accès à une version dans l'historique je pense que l'URL utilisée commence par /alfresco/d/a ou /alfresco/d/d. Si c'est le cas il suffit de remplacer le premier /d par /gd pour avoir une URL sans authentification requise.
richardb
Member II

Re: [Résolu] Authnetification web sripts

Merci pour cette réponse rapide. Je confirme que le remplacement de /d/d par /gd/d empéche l'authentification client sur une version d'un document.

Je n'aurais jamais trouvé la solution sans votre aide.

Bien cordialement

Richard