セッション管理システム
【課題】通常のセッションタイムアウト処理によるWebページの閲覧処理をリセットすることなく、利用者の利便性を向上した上で、従来どおりのセキュリティを確保できるようにする。
【解決手段】Webシステム全体のシステムタイムアウト時間に加えて、Webページごとにシステムタイムアウト時間よりも短い時間である2次タイムアウト時間を設定する。そして、利用者からWebサーバコンピュータへのアクセス間隔が2次タイムアウト時間とシステムタイムアウト時間との間であれば、パスワードなどのログイン情報を再送するだけでセッションを継続できるようにする。
【解決手段】Webシステム全体のシステムタイムアウト時間に加えて、Webページごとにシステムタイムアウト時間よりも短い時間である2次タイムアウト時間を設定する。そして、利用者からWebサーバコンピュータへのアクセス間隔が2次タイムアウト時間とシステムタイムアウト時間との間であれば、パスワードなどのログイン情報を再送するだけでセッションを継続できるようにする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インターネットやイントラネットなどで、利用者がWebブラウザからWebサーバにログインした状態でWebページを閲覧する際に、Webブラウザから一定時間Webサーバに対してデータ送信がない場合に実行されるタイムアウト処理において、タイムアウトを容易に回避させる手段を提供することによって、利用者の利便性を向上するための技術に関する。
【背景技術】
【0002】
近年、インターネットやイントラネットの普及により、Webブラウザを用いてWebページを閲覧することが盛んに行われている。その際に、利用者を特定するために、初期画面で利用者にユーザ名やパスワードなどの利用者情報の送付によってログインさせることでセッションを確立し、以後のWebページの閲覧にあたって、セッション情報をWebブラウザが自動的にWebサーバに送信することで、利用者が再度利用者情報を送信しなくとも、Webサーバ側で利用者を特定できるようになっている。ただし、ログインした利用者が長時間にわたって席を外したときに、他の利用者がそのまま元の利用者としてWebシステムを利用できないようにするため、または家族が1台のコンピュータを利用していた場合に、他の家族が使用していたWebシステムを継続して利用できないようにするために、セッションタイムアウト時間が設けられている。
【0003】
Webサーバは、利用者がログインした際に、セッション情報を作成し、アクセス時刻とともに保持しておくことで、次回のアクセス時に前のアクセス時刻との差分を計算し、Webシステムに設定してあるタイムアウト時間より長い場合は、セッションタイムアウト処理を実行し、Webページ閲覧のセッションを継続せずに、初期画面を返送するなどの処理を行うことで、Webシステムのセキュリティ保護を実現する技術が特許文献1で公開されている。また、タイムアウトが発生することが利用者の利便性を損なうと思われる場合には、WebページをFrameで構成し、1つのFramesetページには通常のWebページを表示し、もう1つのFramesetページは画面に表示せずに、Webサーバに定期的にデータ送信を行わせることで、セッションタイムアウトを発生させずに、利用者の利便性を向上させる技術が特許文献2で公開されている。
【0004】
【特許文献1】特開平11−98162号公報
【特許文献2】特開2003−233585号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の技術では、Webページの重要性やWebシステムのセキュリティ上の重要性を重んじたものであるため、利用者の要望とは無関係に、一定の期間アクセスしなければセッションタイムアウトが実行される。そして、タイムアウトが発生する以前に利用者が作業していた情報はリセットされ、利用者は再度初期画面からログインして、自身が以前に作業していた内容と全く同じ作業を実行しなければならず、利用者の利便性は損なわれている。
【0006】
また、上記特許文献2に記載の技術では、Frame作成されたWebページではタイムアウトが発生しないため、他人に利用される可能性が高まり、セキュリティ上問題がある。
本発明は、こうした従来技術の問題点を解決するためになされたものであり、従来通りのタイムアウトによるセッション管理機能によるセキュリティ確保は継続した上で、セッションタイムアウトによる、Webシステム利用者における利便性の低下を防ぎ、Webシステムの利用者にとっての利便性を向上することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、請求項1に記載の発明は、制御手段を備えるWebサーバコンピュータと、ユーザに使用されるクライアントコンピュータとがネットワークに通信可能に接続されているコンピュータシステムを用いたセッション管理システムであって、前記クライアントコンピュータには、システムタイムアウト時間及び該システムタイムアウト時間よりも短い2次タイムアウト時間が予め設定されており、前記制御手段は、前記Webサーバコンピュータにログインした前記クライアントコンピュータが、前記クライアントコンピュータ上のWebブラウザから前記Webサーバコンピュータにデータを送信しない時間が前記システムタイムアウト時間を超過していない場合であって、かつ前記2次タイムアウト時間を超過している場合には、ログイン情報の再送のみでセッションの継続を許可することを特徴とする。
また、請求項2に記載の発明は、請求項1に記載の発明において、前記2次タイムアウト時間は、Webページごとに設定可能であることを特徴とする。
【発明の効果】
【0008】
本発明によれば、2次タイムアウト時間を設けることで、通常のセッションタイムアウト処理による、Webページの閲覧処理をリセットすることなく、利用者の利便性を向上した上で、従来どおりのセキュリティを確保できる。
【発明を実施するための最良の形態】
【0009】
以下、本発明を適用したセッション管理システムの一実施の形態について説明する。
まず、セッション管理システムの構成について説明する。
図1に示すように、セッション管理システムは、Webサーバコンピュータ11、及び当該Webサーバコンピュータ11を利用するクライアントコンピュータ12で構成されている。Webサーバコンピュータ11、及びクライアントコンピュータ12はネットワークとしてのインターネット13によって通信可能に接続されている。
【0010】
Webサーバコンピュータ11は、端末装置14、外部記憶装置15、通信ポート16を含んで構成されている。端末装置14は、制御手段としてのCPU(Central Processing Unit)17、及びメモリ18を備えている。また、外部記憶装置15には、Webサーバプログラム19、Webアプリケーション20、セッション情報テーブル21、タイムアウト設定情報22が記録されている。通信ポート16は、Webサーバコンピュータ11をインターネット13に接続する機能を有する。
【0011】
クライアントコンピュータ12は、端末装置23、外部記憶装置24、通信ポート25を含んで構成されている。端末装置23は、CPU26、及びメモリ27を備えている。また、外部記憶装置24には、Webブラウザプログラム28、セッション情報テーブル29が記録されている。通信ポート25は、クライアントコンピュータ12をインターネット13に接続する機能を有する。
【0012】
次に、Webサーバコンピュータ11の外部記憶装置12に記録されているタイムアウト設定情報22について説明する。
図2に示すように、タイムアウト設定情報22は、system_timeoutエントリ221、application_timeoutエントリ222、timeout_configエントリ223、URLエントリ224、226、228、timeoutエントリ225、227、229を含んで構成されている。
system_timeoutエントリ221には、Webサーバプログラム19全体のシステムタイムアウト時間が設定されている。
【0013】
application_timeoutエントリ222は複数のtimeout_configエントリ223で構成されている。timeout_configエントリ223は、2次タイムアウト時間が設定される対象パスを設定するURLエントリ224、226、228と、2次タイムアウト時間を設定するtimeoutエントリ225、227、229とで構成されている。URLエントリ224、226、228の記述で、'*'が指定された場合は、記述されたパス以下のすべてのWebページへのアクセスに対して2次タイムアウト時間が適用されることを意味している。
【0014】
URLエントリ226に指定されたパスは、URLエントリ224に指定されたパスに含まれるが、2次タイムアウト時間は、timeoutエントリ227に指定されたとおり、timeoutエントリ225で指定された時間よりも短い時間が適用される。これと同様に、URLエントリ228に指定されたパスは、RULエントリ224に指定されたパスに含まれるが、2次タイムアウト時間は、timeoutエントリ229に指定されたとおり、timeoutエントリ225で指定された時間よりも長い時間が適用される。以上のtimeout_configエントリ223内のtimeoutエントリ225、227、227は、system_timeoutエントリ221で指定された時間よりも短い時間となっている。
【0015】
クライアントコンピュータ12上で動作するWebブラウザプログラム28において、Webサーバコンピュータ11上のWebアプリケーション20へのアクセス時に、システムタイムアウトが発生した場合、図3に示すような画面がクライアントコンピュータ12の図示しない表示手段である液晶ディスプレイの画面に表示される。具体的に、Webブラウザプログラム28の画面30には、タイムアウトが発生したことを示す情報301(メッセージ)とともに、ログイン画面へ戻るためのリンク302が表示される。
【0016】
次に、セッション情報テーブル21、29について説明する。
図4に示すように、Webサーバコンピュータ11の外部記憶装置12に記録されているセッション情報テーブル21のテーブル要素としては、セッションID211、セッション情報212、最終アクセス時刻213が記録されている。
また、図5に示すように、クライアントコンピュータ12の外部記憶装置22に記録されているセッション情報テーブル29のテーブル要素としては、ホスト名291、URL(Uniform Resource Locator)292、セッションID293が記録されている。
【0017】
次に、ログイン画面について説明する。
クライアントコンピュータ12で動作するWebブラウザプログラム28が最初にWebサーバコンピュータ11にアクセスした際に、図6に示すような初期画面としてのログイン画面31がクライアントコンピュータ12の図示しない液晶ディスプレイに表示される。ログイン画面31には、Webアプリケーション20の利用者を特定するためのユーザIDを入力するためのフィールド311と、及びパスワードを入力するためのフィールド312と、2つのフィールド311、312に入力された情報をWebサーバコンピュータ11に対して送信するための送信ボタン313とが表示される。
【0018】
次に、2次タイムアウトが発生した場合の画面について説明する。
クライアントコンピュータ12で動作するWebブラウザプログラム28において、Webサーバコンピュータ11のWebアプリケーション20へのアクセス時に、2次タイムアウトが発生した場合、図7に示すような画面が、クライアントコンピュータ12の図示しない液晶ディスプレイに表示される。クライアントコンピュータ12の画面32には、タイムアウトが発生したことを示す情報321(メッセージ)とともに、セッションの継続を指示するためのリンク322と、ログイン画面31へ戻るためのリンク323とが表示される。
【0019】
次に、セッション継続を指示した際の画面について説明する。
クライアントコンピュータ12で動作するWebブラウザプログラム28において、Webサーバコンピュータ11のWebアプリケーション20へのアクセス時に2次タイムアウトが発生した場合、図8に示すような画面が、クライアントコンピュータ12の図示しない液晶ディスプレイに表示される。Webブラウザプログラムの画面33には、図7で示した画面上に、セッション継続のための情報入力を促すウィンドウ331が表示される。ウィンドウ331には、パスワードを入力するためのフィールド332、入力されたパスワードをWebアプリケーションに送信する送信ボタン333、セッション継続のための情報入力を中止するためのキャンセルボタン334が表示される。
【0020】
次に、クライアントコンピュータ12上で動作するWebブラウザプログラム28と、Webサーバコンピュータ11上で動作するWebサーバプログラム19との間のやり取りについて説明する。
はじめに、Webブラウザプログラム28からWebサーバプログラム19に対してWebページ入手のための要求信号が送信される。Webサーバプログラム19からはこれに応答して、ログイン画面31に関するデータが返送される。次に、Webブラウザプログラム28からWebサーバプログラム19に対してログイン画面31において利用者によって入力されたログイン情報(ユーザID及びパスワード)が送信される。
【0021】
Webサーバプログラム19では、Webブラウザプログラム28から送信されたログイン情報に基づいてセッション情報212が作成されるとともに、ランダムに作成されたセッションID211とアクセス時刻213とがセッション情報テーブル21に記録される。さらに、Webサーバプログラム19からWebブラウザプログラム28に対して、要求されたWebページに関するデータとセッションID211とが返送される。
【0022】
次に、Webブラウザプログラム28は、利用者の操作に対応してWebサーバプログラム19にWebページに関するデータを要求する。Webサーバプログラム19では、Webページの要求が受け付けられた時間と、セッション情報テーブル21に記録されているアクセス時刻213との差分が、タイムアウト時間を超過しているか否か確認される。
【0023】
差分がシステムタイムアウト時間を超過していた場合には、Webサーバプログラム19からWebブラウザプログラム28に対してタイムアウト画面に関するデータが返送される。また、差分が第2タイムアウト時間内であった場合には、Webサーバプログラム19からWebブラウザプログラム28に対して通常通り要求されたWebページに関するデータが返送される。そして、差分が第2タイムアウト時間を超過しており、かつシステムタイムアウト時間を超過していない場合には、タイムアウト・セッション継続画面に関するデータが返送される。
【0024】
次に、タイムアウト・セッション継続画面が表示された場合であって、Webブラウザプログラム28に対して、利用者によって利用者情報が入力されると、当該利用者情報に関するデータはWebサーバプログラム19に送信される。Webサーバプログラム19において、受信された利用者情報が正しいと判定された場合には、要求されたWebページに関するデータがWebサーバプログラム19からWebブラウザプログラム28に返送される。
【0025】
一方、Webサーバプログラム19において、受信された利用者情報が正しくないと判定された場合であって、かつシステムタイムアウト時間を超過していたと判定された場合にはタイムアウト画面に関するデータがWebサーバプログラム19からWebブラウザプログラム28に返送される。システムタイムアウト時間内である場合には、タイムアウト・セッション継続画面に関するデータがWebサーバプログラム19からWebブラウザプログラム28に再度返送される。
【0026】
次に、Webサーバコンピュータ11上で動作するWebサーバプログラム19の動作について説明する。なお、以下の処理はWebサーバコンピュータ11のメモリ18等に記憶されているプログラム等に基づいて、CPU17による制御のもとで実行される。
Webサーバプログラム19が起動されると、まずクライアントコンピュータ12上のWebブラウザプログラム28から接続を受ける。そして、図9に示すように、URL292とセッションID293とが入手される(ステップS101)。次に、Webサーバプログラム19は、セッションID211が受信されたか否か、及びセッション情報テーブル21に受信されたセッションID211が存在するか否かを判定する(ステップS102)。
【0027】
セッション情報テーブル21にセッションID211が存在しないと判定された場合には、Webサーバプログラム19はクライアントコンピュータ12にログイン画面31を返送する(ステップS103)。次に、Webサーバプログラム19はログイン情報を入手するとともに(ステップS104)、当該ログイン情報が正しいか否かを判定する(ステップS105)。
【0028】
ステップS105において、ログイン情報が正しいと判定された場合には、Webサーバプログラム19はセッションID211とセッション情報212とを作成してアクセス時刻213とともにセッション情報テーブル21に記録する(ステップS106)。そして、Webサーバプログラム19はクライアントコンピュータ12から要求されたURL292に対応するWebページとセッションID211とを当該クライアントコンピュータ12に返送(ステップS107)する。
【0029】
ステップS105において、ログイン情報が正しくないと判定された場合には、再度ステップS103からの処理が繰り返される。
ステップS102において、セッションID211がセッション情報テーブル21に存在すると判定された場合には、Webサーバプログラム19はセッションID211に対応する前回のアクセス時刻213を入手する(ステップS108)。
【0030】
次に、入手した前回のアクセス時刻と今回のアクセス時刻との差分を計算し(ステップS109)、当該差分がシステムタイムアウト時間よりも長いか否かを判定する(ステップS110)。差分がシステムタイムアウト時間よりも長いと判定された場合には、セッション情報テーブル21から該当するセッションID211のエントリを削除し、タイムアウト画面に関するデータを返送する(ステップS111)。一方、ステップS110において、アクセス時刻の差分がシステムタイムアウト時間よりも短いと判定された場合は、図10に示すように、差分と2次タイムアウト時間とを比較する(ステップS112)。
【0031】
差分が2次タイムアウト時間よりも短いと判定された場合には、Webサーバプログラム19はセッション情報テーブル21のアクセス時刻213を更新するとともに(ステップS113)、クライアントコンピュータ12から要求されたURL292に対応するWebページを当該クライアントコンピュータ12に返送する(ステップS114)。
一方、ステップS112において、差分が2次タイムアウト時間よりも長いと判定された場合には、Webサーバプログラム19はクライアントコンピュータ12にセッション継続画面に関するデータを返送するとともに(ステップS115)、ログイン情報を入手する(ステップS116)。
【0032】
次に、Webサーバプログラム19は入手したログイン情報が正しいか否かを判定する(ステップS117)。ログイン情報が正しいと判定した場合には、Webサーバプログラム19はセッション情報テーブル21のアクセス時刻213を更新するとともに(ステップS118)、クライアントコンピュータ12から要求されたURL293に対応するWebページを当該クライアントコンピュータ12に返送する(ステップS119)。一方、ステップS117において、Webサーバプログラム19がログイン情報は正しくないと判定した場合には、システムで予め設定されている設定エラー回数を超えたか否かを判定する(ステップS120)。
【0033】
エラー回数を超えていないと判定した場合には、Webサーバプログラム19はエラーカウンタをインクリメント(+1)する(ステップS121)。エラー回数を超えていると判定した場合には、Webサーバプログラム19はセッション情報テーブル21のセッションID211に対応するエントリを削除し、タイムアウト画面に関するデータをクライアントコンピュータ12に返送する(ステップS122)。
【0034】
次に、クライアントコンピュータ12で動作するWebブラウザプログラム28の動作について説明する。なお、以下の処理はクライアントコンピュータ12のメモリ27等に記憶されているプログラム等に基づいて、CPU26による制御のもとで実行される。
図11に示すように、Webブラウザプログラム28が開始されると、利用者からURLの入力を受け付ける(ステップS201)。次に、Webブラウザプログラム28は受け付けたURLのホスト名とURLとがセッション情報テーブル21にあるか否かを確認する(ステップS202)。
【0035】
Webブラウザプログラム28は、セッション情報テーブル21に利用者から入力されたエントリが存在するか否かを判定する(ステップS23)。エントリが存在すると判定した場合には、Webブラウザプログラム28はURLとセッション情報テーブル32から入手したセッションID211とをWebサーバコンピュータ11に送信する(ステップS204)。エントリが存在しないと判定した場合には、Webブラウザプログラム28はURLのみをWebサーバコンピュータ11に送信する(ステップS1105)。
【0036】
次に、Webブラウザプログラム28は、結果のWebページを受信するとともに(ステップS206)、受信したWebページがタイムアウトページか否かを判定する(ステップS207)。受信したWebページがタイムアウトページであると判定した場合にはステップS201から処理を繰り返す。一方、受信したWebページがタイムアウトページでないと判定した場合には、セッション継続ページか否かを判定する(ステップS208)。
【0037】
セッション継続ページでないと判定した場合には、通常のページなのでステップS201から処理を繰り返す。一方、セッション継続ページであると判定した場合には、図12に示すように、継続リンクが押下されたか否かを判定する(ステップS209)。
継続リンクが押下されていないと判定された場合には、Webブラウザプログラム28は、ステップS201から処理を繰り返す。継続リンクが押下されたと判定された場合には、ログイン情報入力ウィンドウを液晶ディスプレイにポップアップする(ステップS210)。
【0038】
次に、ポップアップされたログイン情報入力ウィンドウの送信ボタンが押下されたか否かを判定する(ステップS211)。送信ボタンでない場合にはキャンセルボタンなので、ログイン情報入力ウィンドウを消去するとともに(ステップS212)、ステップS209から処理を繰り返す。一方、送信ボタンが押下されたと判定した場合には、ログイン情報入力ウィンドウを消去するとともに(ステップS213)、ログイン情報をWebサーバコンピュータ11に送信する(ステップS214)。
【0039】
なお、上記実施の形態は、以下のように変更して実施してもよい。
・ログイン情報は、ユーザID及びパスワードであったが、当該ログイン情報はユーザID及びパスワードのいずれか一方のみであってもよい。
【図面の簡単な説明】
【0040】
【図1】セッション管理システムの一実施の形態を示すシステム構成図。
【図2】タイムアウト設定情報の一例。
【図3】システムタイムアウトが発生した場合の画面。
【図4】セッション情報テーブル。
【図5】セッション情報テーブル。
【図6】ログイン画面。
【図7】2次タイムアウトが発生した場合の画面。
【図8】2次タイムアウトが発生した場合にセッション継続を指示した際の画面。
【図9】Webサーバプログラムの動作を示すフローチャート。
【図10】Webサーバプログラムの動作を示すフローチャート。
【図11】Webブラウザプログラムの動作を示すフローチャート。
【図12】Webブラウザプログラムの動作を示すフローチャート。
【符号の説明】
【0041】
11…Webサーバコンピュータ、
12…クライアントコンピュータ、
13…ネットワークとしてのインターネット、
17…制御手段としてのCPU。
【技術分野】
【0001】
本発明は、インターネットやイントラネットなどで、利用者がWebブラウザからWebサーバにログインした状態でWebページを閲覧する際に、Webブラウザから一定時間Webサーバに対してデータ送信がない場合に実行されるタイムアウト処理において、タイムアウトを容易に回避させる手段を提供することによって、利用者の利便性を向上するための技術に関する。
【背景技術】
【0002】
近年、インターネットやイントラネットの普及により、Webブラウザを用いてWebページを閲覧することが盛んに行われている。その際に、利用者を特定するために、初期画面で利用者にユーザ名やパスワードなどの利用者情報の送付によってログインさせることでセッションを確立し、以後のWebページの閲覧にあたって、セッション情報をWebブラウザが自動的にWebサーバに送信することで、利用者が再度利用者情報を送信しなくとも、Webサーバ側で利用者を特定できるようになっている。ただし、ログインした利用者が長時間にわたって席を外したときに、他の利用者がそのまま元の利用者としてWebシステムを利用できないようにするため、または家族が1台のコンピュータを利用していた場合に、他の家族が使用していたWebシステムを継続して利用できないようにするために、セッションタイムアウト時間が設けられている。
【0003】
Webサーバは、利用者がログインした際に、セッション情報を作成し、アクセス時刻とともに保持しておくことで、次回のアクセス時に前のアクセス時刻との差分を計算し、Webシステムに設定してあるタイムアウト時間より長い場合は、セッションタイムアウト処理を実行し、Webページ閲覧のセッションを継続せずに、初期画面を返送するなどの処理を行うことで、Webシステムのセキュリティ保護を実現する技術が特許文献1で公開されている。また、タイムアウトが発生することが利用者の利便性を損なうと思われる場合には、WebページをFrameで構成し、1つのFramesetページには通常のWebページを表示し、もう1つのFramesetページは画面に表示せずに、Webサーバに定期的にデータ送信を行わせることで、セッションタイムアウトを発生させずに、利用者の利便性を向上させる技術が特許文献2で公開されている。
【0004】
【特許文献1】特開平11−98162号公報
【特許文献2】特開2003−233585号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の技術では、Webページの重要性やWebシステムのセキュリティ上の重要性を重んじたものであるため、利用者の要望とは無関係に、一定の期間アクセスしなければセッションタイムアウトが実行される。そして、タイムアウトが発生する以前に利用者が作業していた情報はリセットされ、利用者は再度初期画面からログインして、自身が以前に作業していた内容と全く同じ作業を実行しなければならず、利用者の利便性は損なわれている。
【0006】
また、上記特許文献2に記載の技術では、Frame作成されたWebページではタイムアウトが発生しないため、他人に利用される可能性が高まり、セキュリティ上問題がある。
本発明は、こうした従来技術の問題点を解決するためになされたものであり、従来通りのタイムアウトによるセッション管理機能によるセキュリティ確保は継続した上で、セッションタイムアウトによる、Webシステム利用者における利便性の低下を防ぎ、Webシステムの利用者にとっての利便性を向上することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、請求項1に記載の発明は、制御手段を備えるWebサーバコンピュータと、ユーザに使用されるクライアントコンピュータとがネットワークに通信可能に接続されているコンピュータシステムを用いたセッション管理システムであって、前記クライアントコンピュータには、システムタイムアウト時間及び該システムタイムアウト時間よりも短い2次タイムアウト時間が予め設定されており、前記制御手段は、前記Webサーバコンピュータにログインした前記クライアントコンピュータが、前記クライアントコンピュータ上のWebブラウザから前記Webサーバコンピュータにデータを送信しない時間が前記システムタイムアウト時間を超過していない場合であって、かつ前記2次タイムアウト時間を超過している場合には、ログイン情報の再送のみでセッションの継続を許可することを特徴とする。
また、請求項2に記載の発明は、請求項1に記載の発明において、前記2次タイムアウト時間は、Webページごとに設定可能であることを特徴とする。
【発明の効果】
【0008】
本発明によれば、2次タイムアウト時間を設けることで、通常のセッションタイムアウト処理による、Webページの閲覧処理をリセットすることなく、利用者の利便性を向上した上で、従来どおりのセキュリティを確保できる。
【発明を実施するための最良の形態】
【0009】
以下、本発明を適用したセッション管理システムの一実施の形態について説明する。
まず、セッション管理システムの構成について説明する。
図1に示すように、セッション管理システムは、Webサーバコンピュータ11、及び当該Webサーバコンピュータ11を利用するクライアントコンピュータ12で構成されている。Webサーバコンピュータ11、及びクライアントコンピュータ12はネットワークとしてのインターネット13によって通信可能に接続されている。
【0010】
Webサーバコンピュータ11は、端末装置14、外部記憶装置15、通信ポート16を含んで構成されている。端末装置14は、制御手段としてのCPU(Central Processing Unit)17、及びメモリ18を備えている。また、外部記憶装置15には、Webサーバプログラム19、Webアプリケーション20、セッション情報テーブル21、タイムアウト設定情報22が記録されている。通信ポート16は、Webサーバコンピュータ11をインターネット13に接続する機能を有する。
【0011】
クライアントコンピュータ12は、端末装置23、外部記憶装置24、通信ポート25を含んで構成されている。端末装置23は、CPU26、及びメモリ27を備えている。また、外部記憶装置24には、Webブラウザプログラム28、セッション情報テーブル29が記録されている。通信ポート25は、クライアントコンピュータ12をインターネット13に接続する機能を有する。
【0012】
次に、Webサーバコンピュータ11の外部記憶装置12に記録されているタイムアウト設定情報22について説明する。
図2に示すように、タイムアウト設定情報22は、system_timeoutエントリ221、application_timeoutエントリ222、timeout_configエントリ223、URLエントリ224、226、228、timeoutエントリ225、227、229を含んで構成されている。
system_timeoutエントリ221には、Webサーバプログラム19全体のシステムタイムアウト時間が設定されている。
【0013】
application_timeoutエントリ222は複数のtimeout_configエントリ223で構成されている。timeout_configエントリ223は、2次タイムアウト時間が設定される対象パスを設定するURLエントリ224、226、228と、2次タイムアウト時間を設定するtimeoutエントリ225、227、229とで構成されている。URLエントリ224、226、228の記述で、'*'が指定された場合は、記述されたパス以下のすべてのWebページへのアクセスに対して2次タイムアウト時間が適用されることを意味している。
【0014】
URLエントリ226に指定されたパスは、URLエントリ224に指定されたパスに含まれるが、2次タイムアウト時間は、timeoutエントリ227に指定されたとおり、timeoutエントリ225で指定された時間よりも短い時間が適用される。これと同様に、URLエントリ228に指定されたパスは、RULエントリ224に指定されたパスに含まれるが、2次タイムアウト時間は、timeoutエントリ229に指定されたとおり、timeoutエントリ225で指定された時間よりも長い時間が適用される。以上のtimeout_configエントリ223内のtimeoutエントリ225、227、227は、system_timeoutエントリ221で指定された時間よりも短い時間となっている。
【0015】
クライアントコンピュータ12上で動作するWebブラウザプログラム28において、Webサーバコンピュータ11上のWebアプリケーション20へのアクセス時に、システムタイムアウトが発生した場合、図3に示すような画面がクライアントコンピュータ12の図示しない表示手段である液晶ディスプレイの画面に表示される。具体的に、Webブラウザプログラム28の画面30には、タイムアウトが発生したことを示す情報301(メッセージ)とともに、ログイン画面へ戻るためのリンク302が表示される。
【0016】
次に、セッション情報テーブル21、29について説明する。
図4に示すように、Webサーバコンピュータ11の外部記憶装置12に記録されているセッション情報テーブル21のテーブル要素としては、セッションID211、セッション情報212、最終アクセス時刻213が記録されている。
また、図5に示すように、クライアントコンピュータ12の外部記憶装置22に記録されているセッション情報テーブル29のテーブル要素としては、ホスト名291、URL(Uniform Resource Locator)292、セッションID293が記録されている。
【0017】
次に、ログイン画面について説明する。
クライアントコンピュータ12で動作するWebブラウザプログラム28が最初にWebサーバコンピュータ11にアクセスした際に、図6に示すような初期画面としてのログイン画面31がクライアントコンピュータ12の図示しない液晶ディスプレイに表示される。ログイン画面31には、Webアプリケーション20の利用者を特定するためのユーザIDを入力するためのフィールド311と、及びパスワードを入力するためのフィールド312と、2つのフィールド311、312に入力された情報をWebサーバコンピュータ11に対して送信するための送信ボタン313とが表示される。
【0018】
次に、2次タイムアウトが発生した場合の画面について説明する。
クライアントコンピュータ12で動作するWebブラウザプログラム28において、Webサーバコンピュータ11のWebアプリケーション20へのアクセス時に、2次タイムアウトが発生した場合、図7に示すような画面が、クライアントコンピュータ12の図示しない液晶ディスプレイに表示される。クライアントコンピュータ12の画面32には、タイムアウトが発生したことを示す情報321(メッセージ)とともに、セッションの継続を指示するためのリンク322と、ログイン画面31へ戻るためのリンク323とが表示される。
【0019】
次に、セッション継続を指示した際の画面について説明する。
クライアントコンピュータ12で動作するWebブラウザプログラム28において、Webサーバコンピュータ11のWebアプリケーション20へのアクセス時に2次タイムアウトが発生した場合、図8に示すような画面が、クライアントコンピュータ12の図示しない液晶ディスプレイに表示される。Webブラウザプログラムの画面33には、図7で示した画面上に、セッション継続のための情報入力を促すウィンドウ331が表示される。ウィンドウ331には、パスワードを入力するためのフィールド332、入力されたパスワードをWebアプリケーションに送信する送信ボタン333、セッション継続のための情報入力を中止するためのキャンセルボタン334が表示される。
【0020】
次に、クライアントコンピュータ12上で動作するWebブラウザプログラム28と、Webサーバコンピュータ11上で動作するWebサーバプログラム19との間のやり取りについて説明する。
はじめに、Webブラウザプログラム28からWebサーバプログラム19に対してWebページ入手のための要求信号が送信される。Webサーバプログラム19からはこれに応答して、ログイン画面31に関するデータが返送される。次に、Webブラウザプログラム28からWebサーバプログラム19に対してログイン画面31において利用者によって入力されたログイン情報(ユーザID及びパスワード)が送信される。
【0021】
Webサーバプログラム19では、Webブラウザプログラム28から送信されたログイン情報に基づいてセッション情報212が作成されるとともに、ランダムに作成されたセッションID211とアクセス時刻213とがセッション情報テーブル21に記録される。さらに、Webサーバプログラム19からWebブラウザプログラム28に対して、要求されたWebページに関するデータとセッションID211とが返送される。
【0022】
次に、Webブラウザプログラム28は、利用者の操作に対応してWebサーバプログラム19にWebページに関するデータを要求する。Webサーバプログラム19では、Webページの要求が受け付けられた時間と、セッション情報テーブル21に記録されているアクセス時刻213との差分が、タイムアウト時間を超過しているか否か確認される。
【0023】
差分がシステムタイムアウト時間を超過していた場合には、Webサーバプログラム19からWebブラウザプログラム28に対してタイムアウト画面に関するデータが返送される。また、差分が第2タイムアウト時間内であった場合には、Webサーバプログラム19からWebブラウザプログラム28に対して通常通り要求されたWebページに関するデータが返送される。そして、差分が第2タイムアウト時間を超過しており、かつシステムタイムアウト時間を超過していない場合には、タイムアウト・セッション継続画面に関するデータが返送される。
【0024】
次に、タイムアウト・セッション継続画面が表示された場合であって、Webブラウザプログラム28に対して、利用者によって利用者情報が入力されると、当該利用者情報に関するデータはWebサーバプログラム19に送信される。Webサーバプログラム19において、受信された利用者情報が正しいと判定された場合には、要求されたWebページに関するデータがWebサーバプログラム19からWebブラウザプログラム28に返送される。
【0025】
一方、Webサーバプログラム19において、受信された利用者情報が正しくないと判定された場合であって、かつシステムタイムアウト時間を超過していたと判定された場合にはタイムアウト画面に関するデータがWebサーバプログラム19からWebブラウザプログラム28に返送される。システムタイムアウト時間内である場合には、タイムアウト・セッション継続画面に関するデータがWebサーバプログラム19からWebブラウザプログラム28に再度返送される。
【0026】
次に、Webサーバコンピュータ11上で動作するWebサーバプログラム19の動作について説明する。なお、以下の処理はWebサーバコンピュータ11のメモリ18等に記憶されているプログラム等に基づいて、CPU17による制御のもとで実行される。
Webサーバプログラム19が起動されると、まずクライアントコンピュータ12上のWebブラウザプログラム28から接続を受ける。そして、図9に示すように、URL292とセッションID293とが入手される(ステップS101)。次に、Webサーバプログラム19は、セッションID211が受信されたか否か、及びセッション情報テーブル21に受信されたセッションID211が存在するか否かを判定する(ステップS102)。
【0027】
セッション情報テーブル21にセッションID211が存在しないと判定された場合には、Webサーバプログラム19はクライアントコンピュータ12にログイン画面31を返送する(ステップS103)。次に、Webサーバプログラム19はログイン情報を入手するとともに(ステップS104)、当該ログイン情報が正しいか否かを判定する(ステップS105)。
【0028】
ステップS105において、ログイン情報が正しいと判定された場合には、Webサーバプログラム19はセッションID211とセッション情報212とを作成してアクセス時刻213とともにセッション情報テーブル21に記録する(ステップS106)。そして、Webサーバプログラム19はクライアントコンピュータ12から要求されたURL292に対応するWebページとセッションID211とを当該クライアントコンピュータ12に返送(ステップS107)する。
【0029】
ステップS105において、ログイン情報が正しくないと判定された場合には、再度ステップS103からの処理が繰り返される。
ステップS102において、セッションID211がセッション情報テーブル21に存在すると判定された場合には、Webサーバプログラム19はセッションID211に対応する前回のアクセス時刻213を入手する(ステップS108)。
【0030】
次に、入手した前回のアクセス時刻と今回のアクセス時刻との差分を計算し(ステップS109)、当該差分がシステムタイムアウト時間よりも長いか否かを判定する(ステップS110)。差分がシステムタイムアウト時間よりも長いと判定された場合には、セッション情報テーブル21から該当するセッションID211のエントリを削除し、タイムアウト画面に関するデータを返送する(ステップS111)。一方、ステップS110において、アクセス時刻の差分がシステムタイムアウト時間よりも短いと判定された場合は、図10に示すように、差分と2次タイムアウト時間とを比較する(ステップS112)。
【0031】
差分が2次タイムアウト時間よりも短いと判定された場合には、Webサーバプログラム19はセッション情報テーブル21のアクセス時刻213を更新するとともに(ステップS113)、クライアントコンピュータ12から要求されたURL292に対応するWebページを当該クライアントコンピュータ12に返送する(ステップS114)。
一方、ステップS112において、差分が2次タイムアウト時間よりも長いと判定された場合には、Webサーバプログラム19はクライアントコンピュータ12にセッション継続画面に関するデータを返送するとともに(ステップS115)、ログイン情報を入手する(ステップS116)。
【0032】
次に、Webサーバプログラム19は入手したログイン情報が正しいか否かを判定する(ステップS117)。ログイン情報が正しいと判定した場合には、Webサーバプログラム19はセッション情報テーブル21のアクセス時刻213を更新するとともに(ステップS118)、クライアントコンピュータ12から要求されたURL293に対応するWebページを当該クライアントコンピュータ12に返送する(ステップS119)。一方、ステップS117において、Webサーバプログラム19がログイン情報は正しくないと判定した場合には、システムで予め設定されている設定エラー回数を超えたか否かを判定する(ステップS120)。
【0033】
エラー回数を超えていないと判定した場合には、Webサーバプログラム19はエラーカウンタをインクリメント(+1)する(ステップS121)。エラー回数を超えていると判定した場合には、Webサーバプログラム19はセッション情報テーブル21のセッションID211に対応するエントリを削除し、タイムアウト画面に関するデータをクライアントコンピュータ12に返送する(ステップS122)。
【0034】
次に、クライアントコンピュータ12で動作するWebブラウザプログラム28の動作について説明する。なお、以下の処理はクライアントコンピュータ12のメモリ27等に記憶されているプログラム等に基づいて、CPU26による制御のもとで実行される。
図11に示すように、Webブラウザプログラム28が開始されると、利用者からURLの入力を受け付ける(ステップS201)。次に、Webブラウザプログラム28は受け付けたURLのホスト名とURLとがセッション情報テーブル21にあるか否かを確認する(ステップS202)。
【0035】
Webブラウザプログラム28は、セッション情報テーブル21に利用者から入力されたエントリが存在するか否かを判定する(ステップS23)。エントリが存在すると判定した場合には、Webブラウザプログラム28はURLとセッション情報テーブル32から入手したセッションID211とをWebサーバコンピュータ11に送信する(ステップS204)。エントリが存在しないと判定した場合には、Webブラウザプログラム28はURLのみをWebサーバコンピュータ11に送信する(ステップS1105)。
【0036】
次に、Webブラウザプログラム28は、結果のWebページを受信するとともに(ステップS206)、受信したWebページがタイムアウトページか否かを判定する(ステップS207)。受信したWebページがタイムアウトページであると判定した場合にはステップS201から処理を繰り返す。一方、受信したWebページがタイムアウトページでないと判定した場合には、セッション継続ページか否かを判定する(ステップS208)。
【0037】
セッション継続ページでないと判定した場合には、通常のページなのでステップS201から処理を繰り返す。一方、セッション継続ページであると判定した場合には、図12に示すように、継続リンクが押下されたか否かを判定する(ステップS209)。
継続リンクが押下されていないと判定された場合には、Webブラウザプログラム28は、ステップS201から処理を繰り返す。継続リンクが押下されたと判定された場合には、ログイン情報入力ウィンドウを液晶ディスプレイにポップアップする(ステップS210)。
【0038】
次に、ポップアップされたログイン情報入力ウィンドウの送信ボタンが押下されたか否かを判定する(ステップS211)。送信ボタンでない場合にはキャンセルボタンなので、ログイン情報入力ウィンドウを消去するとともに(ステップS212)、ステップS209から処理を繰り返す。一方、送信ボタンが押下されたと判定した場合には、ログイン情報入力ウィンドウを消去するとともに(ステップS213)、ログイン情報をWebサーバコンピュータ11に送信する(ステップS214)。
【0039】
なお、上記実施の形態は、以下のように変更して実施してもよい。
・ログイン情報は、ユーザID及びパスワードであったが、当該ログイン情報はユーザID及びパスワードのいずれか一方のみであってもよい。
【図面の簡単な説明】
【0040】
【図1】セッション管理システムの一実施の形態を示すシステム構成図。
【図2】タイムアウト設定情報の一例。
【図3】システムタイムアウトが発生した場合の画面。
【図4】セッション情報テーブル。
【図5】セッション情報テーブル。
【図6】ログイン画面。
【図7】2次タイムアウトが発生した場合の画面。
【図8】2次タイムアウトが発生した場合にセッション継続を指示した際の画面。
【図9】Webサーバプログラムの動作を示すフローチャート。
【図10】Webサーバプログラムの動作を示すフローチャート。
【図11】Webブラウザプログラムの動作を示すフローチャート。
【図12】Webブラウザプログラムの動作を示すフローチャート。
【符号の説明】
【0041】
11…Webサーバコンピュータ、
12…クライアントコンピュータ、
13…ネットワークとしてのインターネット、
17…制御手段としてのCPU。
【特許請求の範囲】
【請求項1】
制御手段を備えるWebサーバコンピュータと、ユーザに使用されるクライアントコンピュータとがネットワークに通信可能に接続されているコンピュータシステムを用いたセッション管理システムであって、
前記クライアントコンピュータには、システムタイムアウト時間及び該システムタイムアウト時間よりも短い2次タイムアウト時間が予め設定されており、
前記制御手段は、前記Webサーバコンピュータにログインした前記クライアントコンピュータが、前記クライアントコンピュータ上のWebブラウザから前記Webサーバコンピュータにデータを送信しない時間が前記システムタイムアウト時間を超過していない場合であって、かつ前記2次タイムアウト時間を超過している場合には、ログイン情報の再送のみでセッションの継続を許可することを特徴とするセッション管理システム。
【請求項2】
前記2次タイムアウト時間は、Webページごとに設定可能であることを特徴とする請求項2に記載のセッション管理システム。
【請求項1】
制御手段を備えるWebサーバコンピュータと、ユーザに使用されるクライアントコンピュータとがネットワークに通信可能に接続されているコンピュータシステムを用いたセッション管理システムであって、
前記クライアントコンピュータには、システムタイムアウト時間及び該システムタイムアウト時間よりも短い2次タイムアウト時間が予め設定されており、
前記制御手段は、前記Webサーバコンピュータにログインした前記クライアントコンピュータが、前記クライアントコンピュータ上のWebブラウザから前記Webサーバコンピュータにデータを送信しない時間が前記システムタイムアウト時間を超過していない場合であって、かつ前記2次タイムアウト時間を超過している場合には、ログイン情報の再送のみでセッションの継続を許可することを特徴とするセッション管理システム。
【請求項2】
前記2次タイムアウト時間は、Webページごとに設定可能であることを特徴とする請求項2に記載のセッション管理システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2008−140203(P2008−140203A)
【公開日】平成20年6月19日(2008.6.19)
【国際特許分類】
【出願番号】特願2006−326523(P2006−326523)
【出願日】平成18年12月4日(2006.12.4)
【出願人】(000233055)日立ソフトウエアエンジニアリング株式会社 (1,610)
【Fターム(参考)】
【公開日】平成20年6月19日(2008.6.19)
【国際特許分類】
【出願日】平成18年12月4日(2006.12.4)
【出願人】(000233055)日立ソフトウエアエンジニアリング株式会社 (1,610)
【Fターム(参考)】
[ Back to top ]