2017-01-24 73 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

我通过用户授权,但仍然说用户为空,另一方面,如果我做了卷曲,那么它正在工作...... –