JP2008077614A - セッション管理プログラム及びセッション管理方法 - Google Patents
セッション管理プログラム及びセッション管理方法 Download PDFInfo
- Publication number
- JP2008077614A JP2008077614A JP2006259478A JP2006259478A JP2008077614A JP 2008077614 A JP2008077614 A JP 2008077614A JP 2006259478 A JP2006259478 A JP 2006259478A JP 2006259478 A JP2006259478 A JP 2006259478A JP 2008077614 A JP2008077614 A JP 2008077614A
- Authority
- JP
- Japan
- Prior art keywords
- session
- web
- web service
- temporary token
- issued
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
【課題】ウェブサービスセッションと通常セッションとが連携できるようにする。
【解決手段】ウェブサーバ装置20が、ウェブサービスセッションの最中にあるウェブクライアント装置10に対して、SOAP通信を通じて、ウェブサービスセッションIDに対応付けられた一時トークンを、送信した場合において、そのウェブクライアント装置10が、ウェブサーバ装置20へHTTP通信を通じて一時トークンを送信してきたときには、ウェブサーバ装置20は、受信した一時トークンが正当なものであるか否かを、判別する。その一時トークンが正当なものであった場合には、ウェブサーバ装置20は、ウェブクライアント装置10に対して通常セッションIDを発行し、クッキー情報として送信し、その一時トークンに対応付けられていたウェブサービスセッションIDに対し、通常セッションIDを対応付けて保存する。
【選択図】図4
【解決手段】ウェブサーバ装置20が、ウェブサービスセッションの最中にあるウェブクライアント装置10に対して、SOAP通信を通じて、ウェブサービスセッションIDに対応付けられた一時トークンを、送信した場合において、そのウェブクライアント装置10が、ウェブサーバ装置20へHTTP通信を通じて一時トークンを送信してきたときには、ウェブサーバ装置20は、受信した一時トークンが正当なものであるか否かを、判別する。その一時トークンが正当なものであった場合には、ウェブサーバ装置20は、ウェブクライアント装置10に対して通常セッションIDを発行し、クッキー情報として送信し、その一時トークンに対応付けられていたウェブサービスセッションIDに対し、通常セッションIDを対応付けて保存する。
【選択図】図4
Description
本発明は、ウェブサービスセッションと通常セッションとを管理するためのセッション管理プログラム及びセッション管理方法に、関する。
周知のように、ウェブサービスは、広義には、インターネット上で提供されている全てのサービスをいうが、狭義には、インターネット上に分散されているアプリケーションやソフトウエアコンポーネントをウェブサーバやウェブクライアントが利用できるようにするためのサービスをいう。なお、ウェブサービスの語は、事実上、狭義の意味で利用されている。
近年では、インターネット上に分散されている業務データベース、決済システム、レンタルサーバ、レンタル掲示板、CGI[Common Gateway Interface]プログラム、ウェブページデータなどのリソースに基づいて、ウェブサービスを構築することにより、商売を行うことが主流となりつつある(非特許文献1)。
そして、ウェブサービスに関連する技術の開発競争の結果、多くのウェブサービスは、XML[eXtensible Markup Language]スキーマに基づいて作成されたXMLデータ、又は、WSDL[Web Services Description Language]に基づいて作成されたWSDLデータを、SOAP[Simple Object Access Protocol](米マイクロソフト社及び米ユーザランドソフトウエア社商標)やXMLP[XML Protocol]などのXML関連通信規約に従って、遣り取りすることにより、行われている。これらは、事実上の標準仕様となっている。
但し、概念的には、ウェブ関連の標準技術(TCP/IP[Transmission Control Protocol/Internet Protocol]、HTTP[HyperText Transfer Protocol]、HTML[HyperText Markup Language]など)を応用してウェブサーバやウェブクライアントが分散リソースを利用できるようにする技術であれば、何でも、ウェブサービスの仕様となり得る。
天野富夫、"事例から探るwebサービスのビジネスモデル"、[online]、平成14年5月14日、XMLコンソーシアム、[平成18年9月5日検索]、インターネット<URL:http://www.xmlconsortium.org/websv/kaisetsu/A5/main.html>
ところで、従来、クッキー機能を利用したセッション管理の技術がある。この技術では、ウェブサーバが、ウェブクライアントにセッションID[Identification]を発行してクッキー情報として送信し、その一方、ウェブクライアントは、同一のウェブサーバに対するセッションの最中において、アクセスの毎にそのセッションIDをクッキー情報としてウェブサーバへ通知する。これにより、ウェブサーバは、どのウェブクライアントがセッションの最中であるかを管理することができる。
これに対し、最近、ウェブサービスについても、なりすまし等による被害を予防するため、セッション管理によるアクセス制限が必要ではないかと考えられている。そのため、ウェブサービスに関するセッション管理の技術が、徐々に策定されつつある。その策定されつつある技術では、ウェブクライアントの操作者が何れかのウェブサーバにアクセスしてきた際に、ウェブサーバ内に事前に用意されたセッション管理用のウェブサービスが、認証処理を行うようになっている。その認証処理では、セッション管理用のウェブサービスが、ウェブクライアントに暗証情報を要求し、事前に用意されているデータベースから同一の暗証情報が検出できたときに、そのウェブクライアントにセッションIDを発行する。ウェブクライアントは、同一のウェブサーバに対するセッションの最中において、ウェブサービスを呼び出す毎にそのセッションIDをウェブサーバへ通知する。これにより、ウェブサーバは、どのウェブクライアントがウェブサービスセッションの最中であるかを管理することができる。
このように、通常のHTTP通信においては勿論のこと、XML関連通信においても、セッション管理によりアクセス制限を課すことができるようになりつつある。
現在のところ、同一のウェブブラウザからのアクセスは、その通信経路に応じて別個のセッションとして管理せざるを得ないが、利用者が通常のウェブアクセスとウェブサービスのアクセスとを同一のウェブブラウザを通じて行うにあたり、通常セッションがウェブサービスセッションと連携して行われることが望ましいと考えられている。
本発明は、このような事情に鑑みてなされたものであり、その課題は、ウェブサービスセッションと通常セッションとを連携させ得るようにすることにある。
上記の課題を解決するために案出されたセッション管理プログラムは、ウェブクライアントとの間のウェブサービスセッション及び通常セッションを管理するためのセッション管理プログラムであって、コンピュータを、何れかのウェブクライアントからXML関連通信を通じてアクセス要求を受け付ける第1受付手段,前記第1受付手段がアクセス要求を受け付けると、ウェブサービスセッションのセッションIDを発行して、そのウェブサービスセッションIDをXML関連通信を通じて前記ウェブクライアントに送信する第1セッションID発行手段,何れかのウェブクライアントから、前記第1セッションID発行手段が発行したウェブサービスセッションIDとともに、ウェブサービス呼出要求を、XML関連通信を通じて受け付けた場合に、そのウェブサービス呼出を許可するウェブサービスセッション管理手段,前記ウェブサービスセッション管理手段が呼び出しを許可したウェブサービスが、ウェブアプリケーションの所在情報を処理結果として通知するウェブサービスである場合に、一時トークンを発行して、その一時トークンとともにそのウェブサービスの処理結果をXML関連通信を通じて前記ウェブクライアントに送信する一時トークン発行手段,前記一時トークン発行手段が発行した一時トークンと、前記ウェブサービスセッション管理手段が受け付けたウェブサービスセッションIDとを対応付けて記憶装置に記憶する記憶手段,何れかのウェブクライアントから、前記一時トークン発行手段が発行した一時トークンとともに、前記所在情報の示すウェブアプリケーションへのアクセス要求を、HTTP通信を通じて受け付けると、その一時トークンをキーに前記記憶装置を検索する検索手段,前記検索手段が前記ウェブクライアントから受け付けた一時トークンと同一の一時トークンが、前記記憶装置から検出できた場合に、通常セッションIDを発行して、その通常セッションIDをクッキー情報として前記ウェブクライアントへHTTP通信を通じて送信する第2セッションID発行手段,及び、前記記憶装置において、前記検索手段が受け付けた一時トークンIDと同一の一時トークンIDを、前記第2セッションID発行手段が発行した通常セッションIDで、上書き更新する更新手段として機能させることを、特徴としている。
このように、ウェブサービスセッションIDに対応付けられた一時トークンのXML関連通信を通じたウェブクライアントへの送信と、その一時トークンのHTTP通信を通じたウェブクライアントからの返信とを通じて、一つのウェブクライアントに対して発行されるウェブサービスセッションID及び通常セッションIDが関連付けられるようにすれば、ウェブサービスセッションと通常セッションとを共通のセッションとして管理することができるようになる。
また、上記の課題を解決するために案出されたセッション管理方法は、ウェブクライアントとの間のウェブサービスセッション及び通常セッションを管理するためのセッション管理方法であって、コンピュータが、何れかのウェブクライアントからXML関連通信を通じてアクセス要求を受け付ける第1受付手順,前記第1受付手順においてアクセス要求を受け付けると、ウェブサービスセッションのセッションIDを発行して、そのウェブサービスセッションIDをXML関連通信を通じて前記ウェブクライアントに送信する第1セッションID発行手順,何れかのウェブクライアントから、前記第1セッションID発行手順において発行したウェブサービスセッションIDとともに、ウェブサービス呼出要求を、XML関連通信を通じて受け付けた場合に、そのウェブサービス呼出を許可するウェブサービスセッション管理手順,前記ウェブサービスセッション管理手順において呼び出しを許可したウェブサービスが、ウェブアプリケーションの所在情報を処理結果として通知するウェブサービスである場合に、一時トークンを発行して、その一時トークンとともにそのウェブサービスの処理結果をXML関連通信を通じて前記ウェブクライアントに送信する一時トークン発行手順,前記一時トークン発行手順において発行した一時トークンと、前記ウェブサービスセッション管理手順において受け付けたウェブサービスセッションIDとを対応付けて記憶装置に記憶する記憶手順,何れかのウェブクライアントから、前記一時トークン発行手順において発行した一時トークンとともに、前記所在情報の示すウェブアプリケーションへのアクセス要求を、HTTP通信を通じて受け付けると、その一時トークンをキーに前記記憶装置を検索する検索手順,前記検索手順において前記ウェブクライアントから受け付けた一時トークンと同一の一時トークンが、前記記憶装置から検出できた場合に、通常セッションIDを発行して、その通常セッションIDをクッキー情報として前記ウェブクライアントにHTTP通信を通じて送信する第2セッションID発行手順,及び、前記記憶装置において、前記検索手順で受け付けた一時トークンIDと同一の一時トークンIDを、前記第2セッションID発行手順で発行した通常セッションIDで、上書き更新する更新手順を実行することを、特徴としている。
従って、このセッション管理方法を実現する装置は、前述した本発明のセッション管理プログラムを動作したコンピュータと同等に機能することになる。
以上に説明したように、本発明によれば、ウェブサービスセッションと通常セッションとを連携させることができるようになる。
以下、添付図面を参照しながら、本発明を実施するための一つの形態について、説明する。
図1は、本実施形態のコンピュータネットワークシステムの構成図である。
本実施形態のコンピュータネットワークシステムは、一台以上のウェブクライアント装置10と、ウェブサーバ装置20とからなる。各装置10、20は、ネットワークを介して相互に通信自在に接続されている。
図2は、ウェブクライアント装置10の構成図である。
ウェブクライアント装置10は、ウェブクライアントとしての機能が付加された一般的なパーソナルコンピュータである。従って、このウェブクライアント装置10は、液晶ディスプレイ等の表示装置10aと、キーボードやマウス等の入力装置10bと、これら装置10a,10bが接続された本体とからなる。また、その本体は、ストレージ10c,CPU10d,DRAM10e,及び、通信アダプタ10fを、内蔵している。このうち、ストレージ10cは、各種のプログラムやデータを記憶する記憶装置である。CPU10dは、ストレージ10c内のプログラムに従って処理を行う演算処理装置である。DRAM10eは、CPU10dが処理を行う際にプログラムがキャッシュされたり作業領域が展開されたりする揮発性記憶装置である。通信アダプタ10fは、ネットワークN上の他のコンピュータとデータの遣り取りを行うための通信装置である。
また、ウェブクライアント装置10のストレージ10cには、HTTPクライアント11,SOAPクライアント12,及び、ウェブブラウザ13が、導入されている。図2には、これらプログラム11〜13がDRAM10eに展開された状態が、示されている。
HTTPクライアント11は、HTTP[HyperText Transfer Protocol]に従って他のコンピュータ上のHTTPサーバとHTTPメッセージを遣り取りするためのプログラムである。
SOAPクライアント12は、SOAP[Simple Object Access Protocol]に従って他のコンピュータ上のSOAPサーバとSOAPメッセージ(SOAPエンベロープ)を遣り取りするためのプログラムである。なお、SOAPは、通信プロトコル体系において、HTTPの上位層に存在するため、実際には、SOAPメッセージは、HTTPヘッダが付された状態で遣り取りされる。
ウェブブラウザ13は、操作者による指示を受けて、ネットワークN上のウェブサーバ装置20から各種のデータを取得し、そのデータをそのデータ形式(例えば、HTML[HyperText Markup Language]、XML[eXtensible Markup Language]、DIB[Device Independent Bitmap]、PNG[Portable Network Graphics])に応じて解析し、その解析結果に基づいて文字や画像を適切に配置したコンテンツを表示するアプリケーションソフトウエアである。このウェブブラウザ13は、ウェブサーバ装置20から各種のデータを取得する際に、HTTPクライアント11及びSOAPクライアント12の通信機能を利用する。なお、本実施形態のウェブブラウザ13は、クッキー機能を有している。クッキー機能は、ウェブサーバから受け取ったクッキー情報を保存しておき、そのウェブサーバへアクセスする際に必ずそのクッキー情報を送り返す機能である。
図3は、ウェブサーバ装置20の構成図である。
ウェブサーバ装置20は、ウェブサーバとしての機能が付加された汎用コンピュータである。従って、このウェブサーバ装置20は、少なくとも、ストレージ20a,CPU20b,DRAM20c,及び、通信アダプタ20dを、内蔵している。
また、ウェブサーバ装置20のストレージ20aには、ウェブリソース21,HTTPサーバ22,ウェブアプリケーション23,SOAPサーバ24,URL通知サービス25,セキュリティトークンサービス26,及び、セッション管理アプリケーション27が、導入されている。図3には、ウェブリソース21を除く各プログラム22〜27がDRAM20cに展開されている状態が、示されている。
ウェブリソース21は、ネットワークを通じて他のコンピュータに提供されるHTMLデータや画像データなどのデータである。ウェブリソース21には、それぞれ、一意なURL[Uniform Resource Locator]が割り当てられており、ウェブリソース21は、要求に応じてウェブクライアント装置20へ引き渡される。本実施形態では、説明の都合上、ウェブリソース21に、説明発表用画像の画像データが、含まれているものとする。
HTTPサーバ22は、他のコンピュータ上のHTTPクライアント11とHTTPメッセージを遣り取りするためのプログラムである。より具体的には、HTTPサーバ22は、HTTPクライアント11からHTTPリクエストメッセージを受け取ると、そのHTTPリクエストメッセージにおいて指定されているURLにあるウェブリソース21をストレージ20aから取得し、その取得したデータを含んだHTTPレスポンスメッセージを要求元のHTTPクライアント11へ送信する。或いは、HTTPサーバ22は、URLなどにウェブアプリケーション23の起動コマンドが含まれていた場合、又は、ウェブアプリケーション23が実行すべきスクリプトプログラムがウェブリソース21に含まれていた場合、そのウェブアプリケーション23を起動し、処理結果を取得し、その取得したデータを含んだHTTPレスポンスメッセージを要求元のHTTPクライアント11へ送信する。
ウェブアプリケーション23は、CGI[Common Gateway Interface]やJSP[Java Server Pages]等のプログラムである。CPU20bは、このウェブアプリケーション23に従って、又は、このウェブアプリケーション23の機能を利用してウェブリソース21内に記述されたスクリプトに従って、処理を実行し、その処理結果をウェブリソース21内に組み込んで、HTTPサーバ22に引き渡す。このウェブアプリケーション23によって実現される機能としては、例えば、電子掲示板、ブログ、カウンタ、アクセス解析、ショッピングカート、会員管理、在庫管理などがある。なお、本実施形態では、説明の都合上、ウェブアプリケーション23に、説明発表用画像の画像データに基づいてその画像の表示を行うためのアプリケーションソフトウエアが、含まれているものとする。
SOAPサーバ24は、他のコンピュータ上のSOAPクライアント12とSOAPメッセージを遣り取りするためのプログラムである。より具体的には、SOAPサーバ22は、SOAPクライアント12からSOAPリクエストメッセージを受け取ると、そのSOAPリクエストメッセージの本体から、RPC[Remote Procedure Call]呼び出しを行うためのメソッド名やその引数などの情報を読み出し、メソッド中のURLにて示されるウェブサービス(アプリケーション又はソフトウエアコンポーネント)を呼び出して、戻り値を得るまで待機する。SOAPサーバ24は、ウェブサービスから戻り値を得ると、要求元のSOAPクライアント12にSOAPレスポンスメッセージを返す。
URL通知サービス25は、ウェブサーバ装置20内のウェブリソース21をSOAP通信を通じて要求されたときにそのウェブリソース21のURLを通知するウェブサービスである。
セキュリティトークンサービス26は、ウェブクライアント装置10の操作者がウェブサービスの利用者としての正当な権限を有する者であるか否かを判別するためのウェブサービスである。このセキュリティトークンサービス26は、他のコンピュータ上のウェブブラウザ13からSOAP通信を通じてウェブサービスの呼び出し要求を受け付けると、そのウェブブラウザ13の操作者に対し、認証のための暗証情報をSOAP通信を通じて要求する。なお、このウェブサービスの呼び出し要求を受け付ける機能は、前述した第1受付手段に相当し、この機能の実行は、前述した第1受付手順に相当する。そして、このセキュリティトークンサービス26は、ウェブブラウザ13からSOAP通信を通じて暗証情報を受け取ると、その暗証情報をキーとして図示せぬ利用者データベースを検索する。セキュリティトークンサービス26は、そのキーに合致する暗証情報が図示せぬ利用者データベースから検出されれば、ウェブサービスセッションID[Identification]を発行し、これをセキュリティコンテキストトークンとしてウェブブラウザ13に通知する。このウェブサービスセッションID発行機能は、前述した第1セッションID発行手段に相当し、この機能の実行は、前述した第1セッションID発行手順に相当する。セキュリティトークンサービス26は、ウェブサービスセッションIDを付加したSOAPリクエストメッセージがウェブブラウザ13から送られてくる間は、そのウェブブラウザ13がウェブサービスセッションの最中であると判断して、他のウェブサービスの呼び出しを許可する。この判断機能は、前述したウェブサービスセッション管理手段に相当し、この機能の実行は、ウェブサービスセッション管理手順に相当する。なお、このセキュリティトークンサービス26が行う処理は、米アイビーエム社及び米マイクロソフト社が策定を進めているウェブサービスセキュアカンバーセーション[WS-Secure Conversation]規格及びウェブサービストラスト[WS-trust]規格に従ったものであってもよい。
セッション管理アプリケーション27は、このウェブサーバ装置20へアクセスしてきたウェブクライアント装置10のセッションを管理するためのアプリケーションソフトウエアである。このセッション管理アプリケーション27に従ってCPU20bが実行する処理の内容については、後述する。
次に、ウェブクライアント装置10の操作者がウェブサーバ装置20へアクセスする際の各装置10,20での処理の流れについて、説明する。
図4及び図5は、ウェブクライアント装置10及びウェブサーバ装置20がセッション確立時に実行する処理の流れを示す図である。
まず、ウェブクライアント装置10の操作者が、ウェブブラウザ13を起動し、URL通知サービス25のURLを指定してアクセスする。すると、ウェブサーバ装置20のセキュリティトークンサービス26が、前述したように、ウェブブラウザ13の操作者から暗証情報を取得し、認証処理を行う(ステップS101,S201)。
そして、ウェブサービスセッションIDが発行されてウェブクライアント装置10に通知されることによりウェブサービスセッションが確立した後、ウェブリソース21の一覧を含むウェブページを表示するためのデータが、URL通知サービス25からSOAP通信を通じて、ウェブブラウザ13に送られる(ステップS202)。一方、ウェブブラウザ13は、ウェブサービスセッションの確立後、データが送られるのを待機している(ステップS102;NO)。そして、ウェブブラウザ13は、データを受信すると(ステップS102;YES)、受信したデータに基づいてウェブリソース21の一覧を表示装置10aに表示し(ステップS103)、何れかが選択されるまで待機する(ステップS104;NO)。
ウェブクライアント装置10の操作者が、ウェブリソース21の一覧の中から、例えば、説明発表用画像の画像データを、選択すると(ステップS104;YES)、ウェブブラウザ13が、選択されたウェブリソース21を示す情報をSOAP通信を通じてURL通知サービス25へ通知する(ステップS105)。一方、URL通知サービス25は、ウェブリソース21の一覧を含むウェブページを表示するためのデータを送信した後、何れかのウェブリソース21を示す情報が通知されるのを待機している(ステップS203;NO)。そして、URL通知サービス25は、選択されたウェブリソース21を示す情報が通知されると(ステップS203;YES)、一時トークンを発行する(ステップS204)。なお、一時トークンとは、ウェブサービスセッションIDによるウェブサービスセッションと、通常セッションIDによる通常セッションとの橋渡しに利用される情報である。この一時トークンの内容の一例としては、「79 95 2f 7b 77 e5 28 6c 93 80 84 6d 14 56 fd 9f」がある。このような一時トークンが発行されると、セッション管理アプリケーション27は、その一時トークンとウェブサービスセッションIDと発行時刻とを対応付けてワークテーブルに保存する(ステップS205)。そして、URL通知サービス25は、選択されたウェブリソース21をウェブブラウザ13で解釈できるデータ形式に変換するためのウェブアプリケーション23のURLを取得し、取得したURLに一時トークンを付加して(ステップS206)、SOAP通信を通じてウェブブラウザ13へ送信する(ステップS207)。なお、これらステップS203,S204,S206,S207は、前述した一時トークン発行手順に相当し、これらステップを実行するCPU10bは、前述した一時トークン発行手段に相当する。また、ステップS205は、前述した記憶手順に相当し、このステップを実行するCPU10bは、前述した記憶手段に相当する。
ここで、URLに一時トークンを付加する処理を、具体的に説明する。まず、先に例示した一時トークンは、base64エンコードされて、「eZUve3flKGyTglRtFFb9nw==」となる。これが更にURLエンコードされて、「eZUve3flKGyTglRtFFb9nw%3D%3D」となる。例えばURLが「http://example.com/ws.cgi」というものであれば、一時トークンが付加されたURLは、「http://example.com/ws.cgi?ott=eZUve3flKGyTglRtFFb9nw%3D%3D」となる。このように、本実施形態では、一時トークンは、「ott」という変数名の代入値とされて、URLに付加される。
ウェブブラウザ13は、選択されたウェブリソース21を示す情報を通知した後、データが送られるのを待機している(ステップS106;NO)。そして、ウェブブラウザ13は、一時トークンとともにURLが通知されると(ステップS106;YES)、HTTP通信を通じてそのURLにアクセスする(ステップS107)。このとき、HTTPメッセージに含まれることによりウェブサーバ装置20へ通知されるURLには、一時トークンが付加されたままとなっている。一方、ウェブサーバ装置20では、URL通知サービス25がURLを通知した後、そのURLへのアクセスを通じて一時トークンが送られてくるのを待機している(ステップS208;NO)。そして、ウェブブラウザ13によるそのURLへのアクセスがあることにより、一時トークンが、HTTPサーバ22からセッション管理アプリケーション27に引き渡されると(ステップS208;YES)、セッション管理アプリケーション27が、その一時トークンに対して、URLデコードとbase64デコードとを順に施す。その後、セッション管理アプリケーション27が、これらデコードにより元に戻された一時トークンをキーとしてワークテーブルを検索する(ステップS209)。なお、ステップS208及びS209は、前述した検索手順に相当し、これらステップを実行するCPU10bは、前述した検索手段に相当する。セッション管理アプリケーション27は、ワークテーブルから同一の一時トークンが検出できたときには(ステップS210;YES)、その一時トークンの発行時刻から所定時間が経過しているか否かを、判別する(ステップS211)。セッション管理アプリケーション27は、発行時刻から所定時間が経過していなければ(ステップS211;YES)、通常セッションIDを発行し(ステップS212)、ワークテーブルにおける一時トークンをこの通常セッションIDにて書き換えることにより、通常セッションIDを保存し(ステップS213)、その後、この通常セッションIDをクッキー情報としてHTTP通信を通じて送信する(ステップS214)。ここで、図6は、ワークテーブルの一例を示す図である。図6に示すように、ワークテーブルの各レコードは、「ウェブサービスセッションID」、「通常セッションID」、「発行時刻」のフィールドを、有している。「ウェブサービスセッションID」フィールドには、セキュリティコンテキストトークンが記録され、「通常セッションID」フィールドには、クッキー情報が記録され、「発行時刻」フィールドには、一時トークンの発行時刻が記録されている。なお、ステップS210乃至S212,及び、S214は、前述した第2セッションID発行手順に相当し、これらステップを実行するCPU10bは、前述した第2セッションID発行手段に相当する。また、ステップS205は、前述した更新手順に相当し、このステップを実行するCPU20bは、前述した更新手段に相当する。
ウェブブラウザ13は、一時トークンとともに通知されたURLにあるウェブアプリケーション23の処理結果を要求した後、データが送られてくるのを待機している(ステップS108;NO)。そして、通常セッションIDがクッキー情報として送られてくると(ステップS108;YES)、ウェブブラウザ13は、その送られてきたクッキー情報を保存する(ステップS109)。このように通常セッションIDがクッキー情報として保存されることにより、通常セッションが確立することとなる。すなわち、これ以降、ウェブブラウザ13は、ログアウトの必要があるまでは、HTTP通信を通じてこのウェブサーバ装置20にアクセスするときに必ずこの通常セッションIDをクッキー情報として通知することになる。
一方、セッション管理アプリケーション27は、ウェブブラウザ13から送られてきた一時トークンと同一の一時トークンがワークテーブルから検出できなかったとき(ステップS210;NO)、又は、ワークテーブルから検出できた一時トークンが発行時刻から所定時間経過してしまっていたとき(ステップS211;NO)には、HTTP通信を通じてウェブブラウザ13に接続拒否を通知する(ステップS215)。この場合、ウェブブラウザ13は、接続拒否を示す内容を表示装置10aに表示することになる。
このようにして、ウェブサービスセッションIDによるウェブサービスのセッションと、通常セッションIDによる通常セッションとが、ともに確立され、且つ、互いに関連付けられることとなる。
図7は、ウェブクライアント装置10がセッション破棄を要求した時に実行される処理の流れを示す図である。
図7に示すように、ウェブサービスセッションと通常セッションとが確立している最中に、ウェブクライアント装置10の操作者が、ウェブブラウザ13を閉じる等のログアウト行為を行うと、ウェブブラウザ13が、ウェブサービスセッションIDとともにウェブサービスセッションの破棄要求をSOAP通信を通じてウェブサーバ装置20へ送信し、又は、通常セッションIDとともに通常セッションの破棄要求をHTTP通信を通じてウェブサーバ装置20へ送信する(ステップS121)。
ウェブサーバ装置20が、何れかのセッション破棄要求を受信すると(ステップS221;YES)、セッション管理アプリケーション27が、そのセッション破棄要求に係るウェブサービスセッションID又は通常セッションIDを含むレコード(セッション情報)を、図6のワークテーブルから削除する(ステップS222)。これにより、ウェブサービスセッションIDと通常セッションIDとが関連付けられなくなるばかりでなく、それらによるウェブサービスセッション及び通常セッションそのものが、破棄されることとなる。
以上に説明したように、本実施形態によれば、一時トークンの遣り取りを通じて、ウェブサービスセッションIDと通常セッションIDとが関連付けられることにより、ウェブサービスセッションと通常セッションとを共通のセッションとして管理することができるようになる。すなわち、ウェブクライアント装置10の操作者は、ウェブサービスセッションへのログイン後、スムーズ且つ安全に通常セッションを開始することができることとなる。
10 ウェブクライアント装置
10c ストレージ
10d CPU
10e DRAM
10f 通信アダプタ
11 HTTPクライアント
12 SOAPクライアント
13 ウェブブラウザ
20 ウェブサーバ装置
20a ストレージ
20b CPU
20c DRAM
20d 通信アダプタ
21 ウェブリソース
22 HTTPサーバ
23 ウェブアプリケーション
24 SOAPサーバ
25 URL通知サービス
26 セキュリティトークンサービス
27 セッション管理アプリケーション
10c ストレージ
10d CPU
10e DRAM
10f 通信アダプタ
11 HTTPクライアント
12 SOAPクライアント
13 ウェブブラウザ
20 ウェブサーバ装置
20a ストレージ
20b CPU
20c DRAM
20d 通信アダプタ
21 ウェブリソース
22 HTTPサーバ
23 ウェブアプリケーション
24 SOAPサーバ
25 URL通知サービス
26 セキュリティトークンサービス
27 セッション管理アプリケーション
Claims (5)
- ウェブクライアントとの間のウェブサービスセッション及び通常セッションを管理するためのセッション管理プログラムであって、
コンピュータを、
何れかのウェブクライアントからXML関連通信を通じてアクセス要求を受け付ける第1受付手段,
前記第1受付手段がアクセス要求を受け付けると、ウェブサービスセッションのセッションIDを発行して、そのウェブサービスセッションIDをXML関連通信を通じて前記ウェブクライアントに送信する第1セッションID発行手段,
何れかのウェブクライアントから、前記第1セッションID発行手段が発行したウェブサービスセッションIDとともに、ウェブサービス呼出要求を、XML関連通信を通じて受け付けた場合に、そのウェブサービス呼出を許可するウェブサービスセッション管理手段,
前記ウェブサービスセッション管理手段が呼び出しを許可したウェブサービスが、ウェブアプリケーションの所在情報を処理結果として通知するウェブサービスである場合に、一時トークンを発行して、その一時トークンとともにそのウェブサービスの処理結果をXML関連通信を通じて前記ウェブクライアントに送信する一時トークン発行手段,
前記一時トークン発行手段が発行した一時トークンと、前記ウェブサービスセッション管理手段が受け付けたウェブサービスセッションIDとを対応付けて記憶装置に記憶する記憶手段,
何れかのウェブクライアントから、前記一時トークン発行手段が発行した一時トークンとともに、前記所在情報の示すウェブアプリケーションへのアクセス要求を、HTTP通信を通じて受け付けると、その一時トークンをキーに前記記憶装置を検索する検索手段,
前記検索手段が前記ウェブクライアントから受け付けた一時トークンと同一の一時トークンが、前記記憶装置から検出できた場合に、通常セッションIDを発行して、その通常セッションIDをクッキー情報として前記ウェブクライアントへHTTP通信を通じて送信する第2セッションID発行手段,及び、
前記記憶装置において、前記検索手段が受け付けた一時トークンIDと同一の一時トークンIDを、前記第2セッションID発行手段が発行した通常セッションIDで、上書き更新する更新手段
として機能させる
ことを特徴とするセッション管理プログラム。 - 前記記憶手段は、前記一時トークン発行手段が発行した一時トークンと、その一時トークンが発行された時刻と、前記ウェブサービスセッション管理手段が受け付けたウェブサービスセッションIDとを対応付けて、記憶装置に記憶し、
前記第2セッションID発行手段は、前記検索手段が前記ウェブクライアントから受け付けた一時トークンと同一の一時トークンが、前記記憶装置から検出できた場合であって、その一時トークンの発行時刻から所定時間経過していないときに、通常セッションIDを発行して、その通常セッションIDをクッキー情報として前記ウェブクライアントにHTTP通信を通じて送信する
ことを特徴とする請求項1記載のセッション管理プログラム。 - 前記コンピュータを、更に、
何れかのウェブクライアントから、前記第1セッションID発行手段が発行したウェブサービスセッションIDとともに、セッション破棄要求を受け付けると、そのウェブサービスセッションIDとそのウェブサービスセッションIDに対応付けられている全ての情報とを、前記記憶装置から削除するセッション破棄手段
として機能させる
ことを特徴とする請求項1又は2記載のセッション管理プログラム。 - 前記コンピュータを、更に、
何れかのウェブクライアントから、前記第2セッションID発行手段が発行した通常セッションIDとともに、セッション破棄要求を、受け付けると、その通常セッションIDとその通常セッションIDに対応付けられている情報とを、前記記憶装置から削除するセッション破棄手段
として機能させる
ことを特徴とする請求項1又は2記載のセッション管理プログラム。 - ウェブクライアントとの間のウェブサービスセッション及び通常セッションを管理するためのセッション管理方法であって、
コンピュータが、
何れかのウェブクライアントからXML関連通信を通じてアクセス要求を受け付ける第1受付手順,
前記第1受付手順においてアクセス要求を受け付けると、ウェブサービスセッションのセッションIDを発行して、そのウェブサービスセッションIDをXML関連通信を通じて前記ウェブクライアントに送信する第1セッションID発行手順,
何れかのウェブクライアントから、前記第1セッションID発行手順において発行したウェブサービスセッションIDとともに、ウェブサービス呼出要求を、XML関連通信を通じて受け付けた場合に、そのウェブサービス呼出を許可するウェブサービスセッション管理手順,
前記ウェブサービスセッション管理手順において呼び出しを許可したウェブサービスが、ウェブアプリケーションの所在情報を処理結果として通知するウェブサービスである場合に、一時トークンを発行して、その一時トークンとともにそのウェブサービスの処理結果をXML関連通信を通じて前記ウェブクライアントに送信する一時トークン発行手順,
前記一時トークン発行手順において発行した一時トークンと、前記ウェブサービスセッション管理手順において受け付けたウェブサービスセッションIDとを対応付けて記憶装置に記憶する記憶手順,
何れかのウェブクライアントから、前記一時トークン発行手順において発行した一時トークンとともに、前記所在情報の示すウェブアプリケーションへのアクセス要求を、HTTP通信を通じて受け付けると、その一時トークンをキーに前記記憶装置を検索する検索手順,
前記検索手順において前記ウェブクライアントから受け付けた一時トークンと同一の一時トークンが、前記記憶装置から検出できた場合に、通常セッションIDを発行して、その通常セッションIDをクッキー情報として前記ウェブクライアントにHTTP通信を通じて送信する第2セッションID発行手順,及び、
前記記憶装置において、前記検索手順で受け付けた一時トークンIDと同一の一時トークンIDを、前記第2セッションID発行手順で発行した通常セッションIDで、上書き更新する更新手順
を実行する
ことを特徴とするセッション管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006259478A JP2008077614A (ja) | 2006-09-25 | 2006-09-25 | セッション管理プログラム及びセッション管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006259478A JP2008077614A (ja) | 2006-09-25 | 2006-09-25 | セッション管理プログラム及びセッション管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008077614A true JP2008077614A (ja) | 2008-04-03 |
Family
ID=39349568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006259478A Withdrawn JP2008077614A (ja) | 2006-09-25 | 2006-09-25 | セッション管理プログラム及びセッション管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008077614A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014096063A (ja) * | 2012-11-09 | 2014-05-22 | Kddi Corp | サーバ、端末装置、コンテンツ配信システム、およびプログラム |
KR101456467B1 (ko) | 2012-04-27 | 2014-11-03 | 주식회사 위즈디엔에스코리아 | 패킷변조를 이용한 접속기록 생성 시스템 |
US9087206B2 (en) | 2011-04-20 | 2015-07-21 | Canon Kabushiki Kaisha | Information processing apparatus, system, method, and storage medium for executing control operation and indicating completion |
KR101543221B1 (ko) * | 2008-10-31 | 2015-08-12 | 에스케이플래닛 주식회사 | 다중 사용자-다중 서비스 제공 방법, 장치 및 시스템 |
-
2006
- 2006-09-25 JP JP2006259478A patent/JP2008077614A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101543221B1 (ko) * | 2008-10-31 | 2015-08-12 | 에스케이플래닛 주식회사 | 다중 사용자-다중 서비스 제공 방법, 장치 및 시스템 |
US9087206B2 (en) | 2011-04-20 | 2015-07-21 | Canon Kabushiki Kaisha | Information processing apparatus, system, method, and storage medium for executing control operation and indicating completion |
KR101456467B1 (ko) | 2012-04-27 | 2014-11-03 | 주식회사 위즈디엔에스코리아 | 패킷변조를 이용한 접속기록 생성 시스템 |
JP2014096063A (ja) * | 2012-11-09 | 2014-05-22 | Kddi Corp | サーバ、端末装置、コンテンツ配信システム、およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9684628B2 (en) | Mechanism for inserting trustworthy parameters into AJAX via server-side proxy | |
EP1645971B1 (en) | Database access control method, database access controller, agent processing server, database access control program, and medium recording the program | |
JP4729651B2 (ja) | 認証装置,認証方法およびその方法を実装した認証プログラム | |
JP5218080B2 (ja) | 電子クーポン処理システム、ユーザ管理サーバ装置、サービス提供方法、およびプログラム | |
US7673045B1 (en) | Multiple site automated logout | |
US20110093790A1 (en) | Preemptive caching for web-based systems | |
US9311281B2 (en) | Methods for facilitating web page image hotspots and devices thereof | |
US7984170B1 (en) | Cross-domain communication in domain-restricted communication environments | |
TW200810458A (en) | Method and system for extending step-up authentication operations | |
JP2002334056A (ja) | ログイン代行システム及びログイン代行方法 | |
JP2008197973A (ja) | ユーザ認証システム | |
JP2011170757A (ja) | 個人情報入力用管理サーバ、クライアント端末、個人情報入力システムおよびプログラム | |
CN101978665B (zh) | 对网络通信请求的选择性过滤 | |
CA2437273C (en) | Network conduit for providing access to data services | |
US7752438B2 (en) | Secure resource access | |
JP2010102625A (ja) | ユニフォームリソースロケータ書換方法及び装置 | |
JP2008077614A (ja) | セッション管理プログラム及びセッション管理方法 | |
JP2007257500A (ja) | 被認証装置、被認証プログラム、被認証方法、WebブラウザプラグインおよびWebブラウザブックマークレット | |
EP2040190A2 (en) | Processing HTML extensions to enable support of information cards by relying party | |
JP2008226015A (ja) | セッション権限管理方法 | |
JP2002259341A (ja) | 認証情報入力システム、認証情報保管システム、認証情報入力方法および認証情報入力プログラム | |
JP2003141081A (ja) | ネットワークシステム、サーバコンピュータ、プログラム、ログイン方法 | |
US20030074583A1 (en) | Network resource access | |
JP4362778B2 (ja) | プロキシサーバ装置 | |
JP2005293161A (ja) | 認証システム、認証方法及びコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20091201 |