0

Worklight アダプターと認証ベースのアダプターを使用しています。これは、サード・パーティーの Web サービス (grails サーバー) を介して資格情報を検証します。

1 人のユーザーでテストした場合はすべて問題ありませんが、複数のユーザー アカウントを使用し始めると、すべてのユーザーが同じ Cookie JSESSIONID を使用して同じセッションに接続していることがわかりました。

Worklight アダプターは以前の要求から Cookie を追加していると思います。これは、ブラウザーが古い Cookie を削除したりログアウトしたりせずに、別のアカウントに接続することと同じです。

デバッグ時に、最初のユーザー ログイン時に、認証要求の応答ヘッダーにあることがわかります。

"Set-Cookie":"JSESSIONID=63850CB333E7C279DC6D5B1D973B21E7; Path=/"

2 番目のユーザーがログインすると、応答に「Set-Cookie」ヘッダーがなくなります。

誰にも解決策または回避策がありますか?

認証 Web サーバーへの接続時にワークライトに既存の Cookie を強制的に削除させるにはどうすればよいですか?

4

2 に答える 2

2

アダプタ プロシージャで、属性を追加する必要がありますconnectAs="endUser"。このようにして、各ユーザーは認証バックエンドへの一意の接続を作成し、同じセッション ID を共有しません。

于 2013-02-28T12:10:32.833 に答える
1

ウィンドウを閉じると強制的にログアウトします。このようなもの:

function wlCommonInit() {

    window.onbeforeunload = function() {
        WL.Logger.debug("logging out");
        WL.Client.logout();
    };
}
于 2013-05-22T19:00:07.690 に答える