2

マルチテナンシー用の S/4HANA 拡張開発演習 (このコースの第 2 週 - ユニット 4) を試しています。動画の通りにPostmanをセットアップできたのですが、実行PUT tenant後に実行すると、ビデオにあるようにステータスが取得されず、代わりGET csrf tokenに取得されるというエラーが表示されます。ここで何が間違っているのか教えてください。どうもありがとう。Forbidden204403

Postman 経由で受け取った応答のコピーを添付してください。approuter のログで、この 1 つのメッセージが際立っているのを確認できます (ただし、送信先は設定されているようです)。

403 Forbiddenテナントが正常に作成されたのではなく、応答が返ってきた理由は他にあるのでしょうか? 続行するための指針をいただければ幸いです。

ここに画像の説明を入力

4

1 に答える 1

1

approuter が提供する CSRF 保護に加えて、バックエンドが CSRF フィルターによって再び保護されているため、アクセスは禁止されています。x-csrf-token: Requiredおそらく、 403 応答にヘッダーが表示されます。

これを修正するには、バックエンド アプリケーションで web.xml の 47 行目RestCsrfPreventionFilterを削除します。

背景: approuter には独自の CSRF 保護メカニズムがあります。リクエストで CSRF トークンを提供することにより、approuter の CSRF 保護のみを処理します。バックエンドが再び CSRF から保護されている場合、何もバックエンドに CSRF トークンを提供していません。さらに、approuter 経由でのみアクセスできるようにバックエンドを保護したため、バックエンドの CSRF 保護は不要になりました。

于 2019-01-07T08:23:25.983 に答える