1

Worklight 6.1.0.1、および Chrome ベースのシミュレーターを使用してモバイル Web アプリケーションを開始します。WL Studio から WL 開発サーバーにデプロイされたアプリケーションとアダプター。

安全なアダプター手順があり、次の 2 つの構成でテストしました。

<procedure requestTimeoutInSeconds="20" name="getBaseData" securityTest="Connections-securityTest"/>
<procedure requestTimeoutInSeconds="20" name="getCommunityMembersOf" securityTest="Connections-securityTest"/>

<procedure connectAs="endUser" requestTimeoutInSeconds="20" name="getBasetData" securityTest="Connections-securityTest"/>
<procedure connectAs="endUser" requestTimeoutInSeconds="20" name="getCommunityMembersOf" securityTest="Connections-securityTest"/>

getBaseData は単純にアクティブ ユーザー (後で使用するための id + pwd を含む) を作成し、固定データをアプリに返します。getCommunityMemberOf は、バックエンド サーバーからデータを取得する https アダプターです。このアダプターは、アクティブなユーザーから id + pwd を取得し、この情報を https 要求への入力として含めます。

アプリケーションがプロシージャ getBaseData を呼び出したことを示す JavaScript コンソールを使用して、最初の chrome シミュレータ セッションを開始します。資格情報が収集および認証され、setActiveUser が完了します。その後、アプリケーションはプロシージャ getCommunityMembersOf を呼び出し、このプロシージャ コールは予想どおり認証なしで処理されます。

同じアプリケーションの 2 つ目の chrome シミュレーター セッションを開始すると、javascript コンソールに、呼び出しプロシージャ getBaseData がチャレンジされていないことが示されます。これは、認証が完了したことを示しているように見え、シミュレーター セッション #1 認証もシミュレーター セッション #2 認証を満たしていることを示しています。これは防止したい動作であり、両方のシミュレーター セッションで個別に認証が必要になります。なぜこれが起こっているのか、また、このセッションの共有を防ぐために私にできることについてアドバイスをいただければ幸いです。ありがとうございました。

4

1 に答える 1

3

Chrome は異なるタブ間でセッションを共有しています。Worklight とは関係ありません。

できることは、セッションの共有を防ぐために、シークレット モードで新しいブラウザーを開くことです。または、別の種類のブラウザを開きます。

于 2014-05-08T13:15:38.253 に答える