2017-01-24 97 views
0

Moqui在本地運行的Rest調用存在問題...下面是示例html代碼,錯誤是「REST Access Forbidden(無authz):用戶null未授權在REST上查看路徑/ moqui /用戶「。在Web控制檯上,錯誤是403(Forbidden)。Moqui AJAX呼叫問題

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>AJAX Test</title> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
</head> 

<body> 

<script> 

$(document).ready(function() { 
$.ajax({ 
type: "GET", 
url: "http://localhost:8080/rest/s1/moqui/users", 
headers: { 

      Accept: "application/json", 
      Authorization : "Basic am9obi5kb2U6bW9xdWk=" 
     }, 

    contentType: "application/json" 
    }).then(function(data) { 
    console.log(data); 
}); 
}); 

</script> 
</body> 
</html> 

Api call works fine when tried with a Chrome Rest Client, but not with AJAX call

+0

當使用Chrome Rest客戶端擴展嘗試時,API調用可以正常工作,但爲什麼它不適用於AJAX調用。 –

回答

1

所有神器操作(實體,服務,屏風,REST API等)需要在Moqui授權。有許多方法可以批量配置(即繼承authz),但每次操作都會檢查授權。

以下是一些用於對ADMIN組中的所有用戶授予整個地幔REST API的示例XML。這也可以在有用戶,用戶組,AuthZ的屏幕系統應用程序完成,等

<!-- Artifact group for all of the Mantle REST API via the mantle resource (the root resource) --> 
<artifactGroups artifactGroupId="MANTLE_API" description="Mantle REST API (via root resource)"> 
    <artifacts artifactTypeEnumId="AT_REST_PATH" artifactName="/mantle" inheritAuthz="Y"/> 
    <authz artifactAuthzId="MANTLE_API_ADMIN" userGroupId="ADMIN" authzTypeEnumId="AUTHZT_ALWAYS" authzActionEnumId="AUTHZA_ALL"/> 
</artifactGroups> 

有在與Moqui書製作應用的神器授權功能更一般的文件(你可以下載moqui.org上的PDF)。儘管REST API功能比本書更新,但尚未涵蓋,但與屏幕授權相同的模式適用於REST API。

+0

我通過用戶授權,但仍然說用戶爲空,另一方面,如果我做了捲曲,那麼它正在工作...... –