0

공유에서 WebScript를 호출하면 항상 인증 대화 상자가 나타납니다. 워크 플로 양식에서 수행하는 웹 스크립트 호출을 호출합니다. 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 : 나는 guestuser을 변경하고 웹 스크립트 URL의 끝에 &guest=true을 추가하려고

<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> 

, 그러나 그것은 도움이되지 못했습니다.

이 경우 인증 대화 상자를 비활성화하는 방법은 무엇입니까?

정보에 대해 매우 감사드립니다. 모두에게 감사드립니다.

답변

3

클라이언트에서 실행되는 JavaScript에서 repo tier를 호출하는 대신에/share/proxy/alfresco/ms-ws/assignments와 같은 공유 프록시를 활용할 수 있습니다.

클라이언트 측에서 직접 repo tier에 액세스하는 경우 네트워크 및 Alfresco 배포에 대해 항상 맞는 것은 아닙니다 (즉, Alfresco Repo Tier를 직접 공격 할 수있는 능력)에 대한 몇 가지 가정을하고 있습니다.

+0

완벽하게 작동합니다! 고마워, 제프 ... –

0

는 다음과 같은 방법으로 해결하기 위해 시도 (작동하지 않습니다) :

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

내가 &guest=true

을 추가 WebScript URL에 :

authentication 요소에서 나는 값 adminrunas atribute 추가

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