0

從共享調用WebScript時,始終顯示身份驗證對話框。調用Web腳本從工作流表單執行。 userdetails.ftl的WebScript要求使用訪客級別進行身份驗證

部分:

<#include "/org/alfresco/components/form/controls/common/utils.inc.ftl" /> 
... 
<script> 

Alfresco.util.Ajax.jsonGet(
    { 
     url: "http://...:8080/alfresco/s/ms-ws/assignments?taskId=" + clearTaskId, 
     successCallback: 
     { 
     fn: function(response) 
     { 
      if(response.json) 
      { 
       var json = JSON.parse(response.serverResponse.responseText); 
       ... 

       for(var i = 0; i < entries.length; i++) { 
        ... 
        var cell1 = row.insertCell(0); 
        var cell2 = row.insertCell(1); 
        var cell3 = row.insertCell(2); 
        var cell4 = row.insertCell(3); 
        var cell5 = row.insertCell(4); 

        cell1.innerHTML = entries[i].entry.jobtitle; 
        cell2.innerHTML = entries[i].entry.firstName; 
        cell3.innerHTML = ""; 
        cell4.innerHTML = ""; 
        cell5.innerHTML = ""; 
       } 
      } 
     }, 
     scope: this 
     }, 

     failureCallback: 
     { 
     fn: function(response) 
     { 
      alert("error!"); 
     }, 
     scope: this 
     } 
}); 

</script> 

我assignments.get.xml:

<webscript> 
    <shortname>Get all assignments for the specific process instance</shortname> 
    <description>Returns a list of assignments for the specific process instance</description> 
    <url>/ms-ws/assignments?id={taskId}</url> 
    <url>/ms-ws/assignments.json?id={taskId}</url> 
    <url>/ms-ws/assignments.html?id={taskId}</url> 
    <format default="json">extension</format> 
    <authentication>user</authentication> 
    <transaction>none</transaction> 
</webscript> 

我試圖改變userguest,並添加&guest=true到Web腳本URL的末尾,但它沒有幫助。

如何在這種情況下禁用身份驗證對話框?

我將非常感激這些信息。謝謝大家。

回答

3

而不是調用客戶端上運行的JavaScript的repo層,它往往更好以利用共享代理,如/ share/proxy/alfresco/ms-ws/assignments。

如果直接從客戶端訪問回購層,你所做的關於網絡的一些假設和Alfresco的部署可能不總是正確的(即,直接打露天回購層的能力)。

+0

完美的作品!謝謝,傑夫...... –

0

試圖通過以下方式來解決(不工作):

authentication元件I添加屬性附加傷害runas與值admin

... 
<authentication runas="admin">guest</authentication> 
... 

在WebScript URL我加入&guest=true

url: "http://...:8080/alfresco/s/ms-ws/assignments?taskId=" + clearTaskId + "&guest=true"