001-011017
プロキシAPI経由でGaroonのAPIを複数回実行するとき、Garoonのセッション情報が再利用される場合がある。
- 種別
- 不具合
- 機能
-
- JavaScript API
- 再現バージョン
-
- 4.6.0
- 4.6.1
- 4.6.2
- 4.6.3
- 4.10.0
- 4.10.1
- 4.10.2
- 4.10.3
- 5.0.0
- 5.0.1
- 5.0.2
- 5.5.0
- 5.5.1
- 5.9.0
- 5.9.1
- 5.9.2
- 5.15.0
- 5.15.1
- 5.15.2
- 改修バージョン
- 6.0.0
- 公開日
- 2023-02-10
- 更新日
- 2023-10-27
詳細
【発生条件】
次の条件を満たすと発生する場合があります。
- プロキシAPI経由でGaroonのAPIを複数回実行する。
【準備】
- プロキシAPIの設定を追加します。
例:
---------------
ステータス:有効
プロキシコード:test1
メソッド:POST
URL:アプリケーション画面のログインURL
---------------
補足:- (システム管理画面)「API > プロキシAPIの設定」画面で追加します。
- ユーザーを追加します。
例:- ユーザー1(uid=2)
- ユーザー2(uid=3)
【再現手順】
- アプリケーション画面にログインします。
例:
Windowsの場合:
http://(インストールしたサーバーのIP アドレスまたはホスト名)/scripts/cbgrn/grn.exe
Linuxの場合:
http://(インストールしたサーバーのIP アドレスまたはホスト名)/cgi-bin/cbgrn/grn.cgi - Webブラウザーの開発者ツールを利用し、プロキシAPI経由でGaroonのAPIを実行します。例:---------------var data = '<?xml version="1.0" encoding="UTF-8"?>';
data +='<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">';
data +='<soap:Header>';
data +='<Action>UtilGetLoginUserId</Action>';
data +='<Security>';
data +='<UsernameToken>';
data +='<Username>(ユーザー1のログイン名)</Username>';
data +='<Password>(ユーザー1のパスワード)</Password>';
data +='</UsernameToken>';
data +='</Security>';
data +='<Timestamp>';
data +='<Created>2019-12-31T15:00:00Z</Created>';
data +='<Expires>2029-12-31T15:00:00Z</Expires>';
data +='</Timestamp>';
data +='<Locale>jp</Locale>';
data +='</soap:Header>';
data +='<soap:Body>';
data +='<UtilGetLoginUserId>';
data +='</UtilGetLoginUserId>';
data +='</soap:Body>';
data +='</soap:Envelope>';
var url = '(アプリケーション画面のログインURL)/util_api/util/api';
garoon.base.proxy.send(
'test1',
url,
'POST',
{},
data,
function(res){console.log(res)},
function(err){console.log(err)},
);--------------- - 手順2のレスポンスの「user_id」を確認します。
例:<user_id>2</user_id>
補足:- ユーザー1の「user_id」が表示されています。
- 手順1で実行したAPIの「Username」と「Password」をユーザー2のものに変更して実行します。
- 手順4のレスポンスの「user_id」を確認します。
→現象発生:
Garoonのセッション情報が再利用されることにより、ユーザー1の「user_id」が表示されます。
例:
<user_id>2</user_id>
例:
<user_id>2</user_id>
→正しい結果:
ユーザー2の「user_id」が表示されます。
例:
<user_id>3</user_id>
補足:
例:
<user_id>3</user_id>
補足:
- 記載している再現手順は、本不具合により発生する現象の一例です。
回避/対応方法
【回避方法】
次のバージョンの製品で本現象を改修しています。バージョンアップを検討してください。
- バージョン 6.0.0のGaroon