JSON Webサービスの構成
Liferay のサービスは、すぐに使用できる JSON Web サービスとして公開されます。 これはデフォルトで有効になっています。 これらのサービスには、 http://[address]:[port]/api/jsonwsの API ページからアクセスできます。
ポータル プロパティのセットを使用して、Liferay インスタンスでの JSON Web サービスの動作を微調整できます。 これらのプロパティとその他のプロパティについては、 ポータル プロパティのリファレンス ドキュメントを参照してください。
JSON WS を無効にする
JSON Web サービスを無効にするには、 portal-ext.properties ファイル内のこのポータル プロパティを使用します。
json.web.service.enabled=false
検出可能性を無効にする
http://[address]:[port]/api/jsonwsでこれらのサービスへのアクセスを無効にするには、次を使用します。
jsonws.web.service.api.discoverable=false
HTTPメソッドの無効化
厳密な HTTP メソッド モードを使用する場合、サービスで使用される HTTP メソッドに基づいて Web サービス アクセスをフィルターできます。 たとえば、LiferayインスタンスのJSON Webサービスを読み取り専用モードで動作させたい場合は、 GET以外のすべてのHTTPメソッドを無効にします。
jsonws.web.service.invalid.http.methods=DELETE,POST,PUT
これを使用すると、 DELETE、 POST、または PUT HTTP メソッドを使用するすべてのリクエストが無視されます。
厳密なHTTPメソッド
すべての JSON Web サービスは、 GET または POST HTTP メソッドにマッピングされます。 サービス メソッド名が getで始まり、 が であるか、 がである場合、サービスは読み取り専用であり、 GET メソッドにバインドされます。 それ以外の場合は、 POSTにバインドされます。

デフォルトでは、Liferay は非厳密な HTTP メソッド モードで動作するため、HTTP メソッドをチェックしません。 厳密モードを有効にするには、次のプロパティを使用します。
jsonws.web.service.strict.http.method=true
厳密モードを使用する場合は、正しい HTTP メソッドを使用してサービス メソッドを呼び出す必要があります。
パブリックアクセスの制御
厳密な HTTP モードの場合でも、HTTP メソッドを無効にする必要がある場合があります。 各サービス メソッドは、特定のユーザーが選択したアクションを呼び出す権限を持っているかどうかを認識します。 セキュリティが懸念される場合は、特定の JSON Web サービス パスを許可または制限することで、公開されている JSON API へのアクセスを制限できます。
プロパティ jsonws.web.service.paths.includes は、許可される JSON Web サービス アクション パスのパターンを示します。 公開されているすべてのメソッドへのアクセスを有効にするには、 *を指定します。 シンボル = の右側を空のままにしておくと、 jsonws.web.service.paths.excludesを使用して除外されているパス以外のパスが許可されます。
プロパティ jsonws.web.service.paths.excludes は、 jsonws.web.service.paths.includesで設定されたパターンのいずれかに一致する場合でも許可されない JSON Web サービス アクション パスのパターンを示します。
これらのプロパティはワイルドカードをサポートしていることに注意してください。 たとえば、 jsonws.web.service.paths.includes=get*,has*,is*を設定すると、Liferay はすべての読み取り専用 JSON メソッドをパブリックにアクセス可能にします。 その他のすべての JSON メソッドは無効になります。
注意: パスが jsonws.web.service.paths.includes プロパティと jsonws.web.service.paths.excludes プロパティの両方に一致する場合、 jsonws.web.service.paths.excludes プロパティが優先されます。