2017-01-24 59 views
0

MoquiのRestの呼び出しがローカルで実行されている問題があります。以下はサンプルのhtmlコードです。エラーは "REST Access forbidden(no authz)"です。パス/ moqui/users "と入力します。また、Webコンソールでは、エラーは403(禁止)です。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 Client拡張機能で試してもAPI呼び出しがうまく動作しますが、なぜAJAX呼び出しでは機能しないのですか。 –

答えて

1

(エンティティ、サービス、スクリーン、RESTのAPIなどのための)すべてのアーティファクト操作がMoquiでの承認が必要です。これを一括して設定する方法(つまり、継承されたauthz)がありますが、すべての操作に対して常に認証がチェックされます。

ADMINグループ内のすべてのユーザーに対して、マントルREST API全体に対する承認用のXMLの例をいくつか示します。これはまた、など

<!-- 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帳で作るAppsのアーティファクト認証機能のより一般的なドキュメントがあります(あなたがダウンロードすることができ、ユーザー、ユーザーグループ、のauthzための画面があり、システムのアプリケーションで行うことができますmoqui.orgのPDF)。 REST APIの機能は本よりも新しいものであり、まだ説明されていませんが、画面認証と同じパターンがREST APIに適用されます。

+0

私はユーザー権限を渡していますが、それでも私はカールしていればユーザーヌルと言います。 –