開発Blog

intra-mart利用中の「セッション切れ」について

投稿日:

 


※下記内容は、過去のintra-mart(Ver4.3以前)に関する内容です。
最新のintra-martでは、異なる情報であることがありますので、ご注意ください。


 

intra-mart BaseModule では、クライアントとのセッションを管理するためにブラウザの cookie を利用しています。
通常、ブラウザの cookie にはいくつかの制限があるため、cookie の使い方によってセッションが正常に維持できなくなる事があります。

以下は、intra-mart BaseModule が標準で提供している API または機能のうち、cookie を利用しているものです。
アプリケーションを開発する際は、cookieを使い過ぎないように注意してください。

■J2EEベース開発モデル
<imtag:ImartEvent />
jp.co.intra_mart.foundation.page.EventScript
■ページベース開発モデル
<IMART type="event">
■その他(サンプルを除く)
ワークフローの申請画面
ユーザ・組織等の検索画面
ロール検索画面
ログイン画面

■参考1:制限に関する仕様
ブラウザのcookieは、容量的な制限があります。
●保持できるcookieの総数は、300個まで
●1つのWebサーバあたり、20個まで
●1つのcookieのデータ量は、4[KB]まで(名前および値も含む)

■参考2:cookie の制限の影響を受けるプログラム例
下記のようなプログラムは、cookie の制限を受けて、正常動作しなくなる可能性があります。
●1つのページに<IMART type="event">タグを20個以上記述する
●cookieに情報を20個以上保存する
●ユーザ等の検索画面呼び出しボタンを20個以上配置する
●cookieを利用するAPI等を合計で20個以上記述する

■参考3:cookie の制限の影響を受けた場合の症例(下記は、一例です。)
●cookie に保存されているセッションIDが消えてしまった場合、サーバではセッションが切れたという(セッションタイムアウトと同様の)判定をしてしまいます。結 果として、セッション切れのエラーページが表示されます。
●ログイン画面表示時に、前回ログインした時のアカウントIDが初期表示されません。
●ログイン画面表示時に、前回ログインした時のログイングループIDが初期表示されません(複数のログイングループを設定している場合のみ)。
●ワークフローの申請ができない(申請ボタンクリック時にデータ不足というエラーメッセージが表示される)。

■捕捉
セッションを管理する方法として、通常は cookie にセッションIDを保存していますが、ブラウザからリクエストされる URL を利用してセッションIDを管理する方法もあります。
『設定ガイド<HTTP編>』の、設定項目『http-server/session-config/enable-url-rewriting』に関す る解説がありますので、これを参考にしてください。
セッションID管理に URL を使う方法の場合、cookie の制限の影響を受けてセッションを維持できなくなるということはなくなります。

-開発Blog
-

執筆者:

関連記事

no image

認可の閉塞機能を使いこなす

今回は認可の閉塞機能 (※1) についての紹介です。 2013 Summer から提供されていた認可リソースの閉塞機能ですが、2013 Winter で機能を追加して、アクション単 …

no image

intra-mart Advent Calendar 2013 第15日:IM-Workflowの裏技

この記事は、intra-mart Advent Calendar 2013 第15日の記事です。 日曜日なので、簡単な記事ですが、IM-Workflowの裏技をご紹介します。 ■未処理・処理済などの案 …

社員が運営するオフィスコンビニのご紹介

こんにちは。技術コンサルの高松と申します。 最近、矢野さんのトイレの空き状況の見える化システムが公開されましたね。 「自分もおもろい社内ネタを出したい!」と思ったので、アップします。 あ、IT要素ゼロ …

no image

「印影機能」をさくっと試してみる

今日は IM-Workflow Ver.7.2 のパッチ6で追加された「印影機能」を動かしてみます。 「印影機能」は、以下の準備が必要です。 ワークフローパラメータで「印影の使用可否」を「使用する」に …

no image

intra-mart 以外のプログラムを実行する

※下記内容は、過去のintra-mart(Ver4.3以前)に関する内容です。最新のintra-martでは、異なる情報であることがありますので、ご注意ください。 通常、intra-mart を We …