問題
-
ゲストユーザーでヘッドレスAPIを呼び出し、特定のオブジェクトを更新しようとすると(angularアプリを使用)、以下のエラーが表示されます:
{
"status": "FORBIDDEN",
"title": "User 20099 must have UPDATE permission for com.liferay.object.model.ObjectDefinition#64782 65097"
}
環境
- 以下のいずれかのアクションを使用する:
<action-key>ADD_DOCUMENT</action-key>
<action-key>ADD_DOCUMENT_TYPE</action-key>
<action-key>ADD_FOLDER</action-key>
<action-key>ADD_REPOSITORY</action-key>
<action-key>ADD_SHORTCUT</action-key>
<action-key>ADD_STRUCTURE</action-key>
<action-key>PERMISSIONS</action-key>
<action-key>SUBSCRIBE</action-key>
<action-key>UPDATE</action-key>
解像度
-
これはオブジェクトに対してだけでなく、すべての製品を通じて拡張された動作です。 UIやAPI経由でGuestに書き込み権限を与えることはできないので、回避策はありません。
リスクを避けるために、そのような権限を与えようとすることは本当にお勧めしません。
GuestにそのようなAPIコールオプションを持たせると、悪意のある行為者がそれを使ってすべての関連レコードを編集/削除/などする可能性があることに注意してください。したがって、Liferayは認証された「ユーザー」(/apps)に対してのみこのようなアクションを許可します。
追加情報
- 関連情報については、以下の記事をご参照ください:
https://learn.liferay.com/w/dxp/headless-delivery/consuming-apis/making-unauthenticated-requests