3

Worklight 6.0 とフォーム ベースの認証を使用しています。

WL.Client.createChallengeHandler() の引数は、チャレンジ ハンドラが対処するレルムであると考えましたが、テストでは、レルム固有のチャレンジ ハンドラを作成する方法がないことが示されているようです。

私は2つの手順を持つアダプターを持っています。各手順には個別のセキュリティ テストがあります。各テストは、異なるレルム (r1 と r2) に対応しています。

私のアプリには、r1 用と r2 用の 2 つのチャレンジ ハンドラがあります。ただし、r1 のチャレンジ ハンドラは、両方のアダプタ プロシージャのチャレンジを処理することになります。WL.Client.createChallengeHandler() で任意の文字列を使用できることがわかりました... 存在しないレルム、空の文字列、または引数なしでさえ、2 つのチャレンジ ハンドラーのどちらが使用されるかが変わる可能性がありますが、使用される方が使用されます。すべての課題に。

WL.Client.createChallengeHandler() の引数は何に使用されますか? チャレンジ ハンドラをレルムに結び付ける方法はありますか?

4

1 に答える 1

2

この引数は、ほとんどのユーザー認証のケースでは意味がありません。レルムは名前ではなく、チャレンジ ハンドラ内の isCustomResponse() 関数によって検出されます。

基本的に、WL 認証フレームワークは 2 種類のレルムを処理する方法を知っています。

  1. noDeviceProvisioning、antiXSRF などの内部 WL セキュリティ レルム。これらは WL 認証フレームワークから来ており、事前定義されたハードコーディングされたレルム名を持っています。これらのレルムの場合、引数 (realmName) は WL フレームワークによって内部的に使用されます。

  2. カスタムユーザー認証レルム、ゲートウェイなど、必要なものはすべて含まれています。この場合、開発者は realmName に依存することはできません。これは、開発者がチャレンジがどのように見えるか (認証ゲートウェイなど) を制御できない場合があるためです。したがって、s realmName パラメータとして任意の文字列を指定し (とにかく無視されます)、isCustomResponse() 関数を使用して、チャレンジが特定のレルムに属しているかどうかを検出できます。

いずれにせよ適切な realmName を指定して、コードを将来的に保証することをお勧めします。

于 2013-12-11T07:02:38.793 に答える