EWD 3
トレーニング・コース #12
ewd-xpress のセッション・タイムアウト制御
M/Gateway Developments Ltd.
Rob Tweed
訳: 日本ダイナシステム株式会社 嶋 芳成
セッション・タイムアウト
• アプリケーションが登録されると、それのために、
Session がひとつ生成されますが、そのタイムアウトは
意図的にとても短くなっています
• デフォルトで 5 分です
• ewd-xpress ビルド 1.23 とそれ以降では、
• このタイムアウトの初期設定をカスタマイズ可能です
• ewd-xpress スタートアップ・ファイルで、次のようにセットします
• config.initialSessionTimeout
• 値を ‘秒’ 単位で指定します。例えば 600
2016/9/5 EWD 3 トレーニング・コース #12 2
ewd-xpress スタートアップ
var config = {
managementPassword: ‘keepThisSecret!’,
serverName: ‘New EWD Server’,
port: 8080,
poolSize: 1,
database: {
type: ‘cache’,
params: {
path: ‘c:InterSystemsCache2015-2mgr’
}
},
initialSessionTimeout: 120 // タイムアウトの初期値 2 分
};
var ewdXpress = require(‘ewd-xpress’).master;
ewdXpress.start(config);
2016/9/5 EWD 3 トレーニング・コース #12 3
セッション・タイムアウト
• ユーザーは、最初のセッション・タイムアウト時間以内に
ブラウザ上で何か操作して、イベントを生成し、ewd-
xpress バックエンドにメッセージを送らなくてはなりませ
ん
• さもないと、メッセージが送られたとき、バックエンドはブラウザ
にソケットの連携を切断するように指示します
2016/9/5 EWD 3 トレーニング・コース #12 4
セッション・タイムアウト
• ユーザー認証が必要ならば、最初に登録されたときの
セッション・タイムアウトを短くするのは良い案です
• しかし、一旦ユーザーが認証され、そして/または、ア
プリケーションを起動したら、セッション・タイムアウトは設
定しなおして、もっと実用的な値にしたいと思うでしょう
• 例えば
• 20分 とか
• 1時間以上
2016/9/5 EWD 3 トレーニング・コース #12 5
セッション・タイムアウト
• セッション・タイムアウトの時間は、バックエンドの任意の
メッセージ・ハンドラ内で設定しなおすことができます
• session.timeout = newValue;
• 例えば
• session.timeout = 3600;
2016/9/5 EWD 3 トレーニング・コース #12 6
セッション終了
• ewd-xpressのバックエンドが、適正なトークン付きの
要求を受け取ると、セッション終了時間を次のように更
新します
• 現在時刻 + session.timeout
• 即ち: ユーザーの活動がセッション終了時刻を更新し
ます
• あるいは、バックエンドにメッセージを送る原因となるブラウザ
内のイベントはすべて、これを更新します
2016/9/5 EWD 3 トレーニング・コース #12 7
セッション終了
• セッション・タイムアウトを修正しても、セッションの終了
時刻はそのときには修正されません
• 次のメッセージが送信されるまで修正されません
• バックエンドのメッセージ・ハンドラ関数内で、これをすぐ
に強制的に更新することもできます
• 即ち、
session.timeout = 3600
session.updateExpriry(); //新しいタイムアウトを適用
2016/9/5 EWD 3 トレーニング・コース #12 8

EWD 3トレーニングコース#12 ewd-xpressのセッション・タイムアウトの制御