説明

情報処理システム及びアプリケーション実行制御方法

【課題】Webアプリケーションに手を加えることなく、Webアプリケーション内部の処理の実行を制御することができる新しい枠組みを提供する。
【解決手段】本発明の情報処理システムは、Webアプリケーションの実行を制御する機能を有する。具体的には、Webアプリケーションの実行を要求するユーザの識別情報を、ポリシ記憶部に記憶されている、該ユーザの識別情報と該ユーザについて実行が許可されるWebアプリケーションに含まれる内部関数の処理とを対応付けたポリシ情報と照合することにより、Webアプリケーションに含まれる処理のうち実行対象となる処理の実行可否を決定する。そして、実行可の場合には、前記実行対象となる処理が実行されるように制御し、実行不可の場合には、前記実行対象となる処理が実行されないように制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、Webアプリケーションの実行を制御する技術に関する。
【背景技術】
【0002】
従来、Webアプリケーションの実行制御は、ユーザがWebアプリケーションにアクセスする前やアクセスの際に行っていた。かかる制御方式を強化し、Webアプリケーション内部の処理を詳細に実行制御する「エンタイトルマネジメント」と呼ばれる方式が用いられ始めている。エンタイトルメントマネジメントでは、Webアプリケーションのプログラムから、ユーザのアクセス権の有無を管理するポリシ決定部に対して、制御対象となる処理の実行可否を問い合わせ、実行不可の場合、処理を中止したり、特定の処理(例えば、エラー処理など)を実行する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかし、既存のWebアプリケーションにおいてエンタイトルメントマネジメントを用いるためには、Webアプリケーション開発者は、ポリシ決定部が提供するポリシ判断関数を理解したうえで、Webアプリケーションのプログラムを改造しなければならないという問題がある。
【0004】
本発明は、Webアプリケーションに手を加えることなく、Webアプリケーション内部の処理の実行を制御することができる新しい枠組みを提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明の情報処理システムは、Webアプリケーションを実行するアプリケーション実行部と、ユーザの識別情報と該ユーザについて実行が許可される前記Webアプリケーションに含まれる処理とを対応付けたポリシ情報を記憶するポリシ記憶部と、前記Webアプリケーションの実行を要求するユーザの識別情報を前記ポリシ情報と照合することにより、前記Webアプリケーションに含まれる処理のうち実行対象となる処理の実行可否を決定し、実行可の場合には、前記実行対象となる処理が実行されるように、実行不可の場合には、エラー割り込みにより、前記実行対象となる処理が実行されないように、前記アプリケーション実行部を制御する実行可否決定部と、を備えることを特徴とする。
【0006】
本発明のアプリケーション実行制御方法は、Webアプリケーションの実行を制御する方法であって、前記Webアプリケーションの実行を要求するユーザの識別情報を、ポリシ記憶部に記憶されている、該ユーザの識別情報と該ユーザについて実行が許可される前記Webアプリケーションに含まれる処理とを対応付けたポリシ情報と照合することにより、前記Webアプリケーションに含まれる処理のうち実行対象となる処理の実行可否を決定し、実行可の場合には、前記実行対象となる処理が実行されるように制御し、実行不可の場合には、エラー割り込みにより、前記実行対象となる処理が実行されないように制御する、ことを特徴とする。
【0007】
なお、本発明において、部とは、単に物理的手段を意味するものではなく、その部が有する機能をソフトウェアによって実現する場合も含む。また、1つの部や装置が有する機能が2つ以上の物理的手段や装置により実現されても、2つ以上の部や装置の機能が1つの物理的手段や装置により実現されても良い。
【発明の効果】
【0008】
本発明によれば、Webアプリケーションになんら変更を加えることなく、該Webアプリケーション内部の処理(内部関数に基づく処理や、クラスに基づく処理など)についての実行を制御することができる枠組みが実現される。これにより、Webシステムの新規開発において、Webアプリケーション開発者による内部関数のアクセス制限のためのプログラミング作業を簡素化することができる。
【図面の簡単な説明】
【0009】
【図1】第1実施形態の情報処理システムの全体構成を示す図である。
【図2】Webアプリケーションに含まれる内部関数の例を示す図である。
【図3】アスペクト指向制御部によって実行されるアスペクトの例を示す図である。
【図4】ポリシ情報の例を示す図である。
【図5】情報処理システムによるWebアプリケーションの実行制御処理の大まかな流れを示すフローチャート。
【図6】Webアプリケーションの実行制御処理の具体的な流れを示す図である。
【図7】Webアプリケーションの実行制御処理におけるユーザの識別情報の流れを示す図である。
【図8】情報処理システムの別の構成を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態として、Webアプリケーションの実行を制御するための枠組みについて、図面を参照して説明する。
【0011】
図1は、第1実施形態の情報処理システム1の全体構成を示す。
【0012】
情報処理システム1は、クライアント端末2と、インターネット等の周知の通信回線を介してクライアント端末2に接続されるWebサーバ3とを含んで構成される。クライアント端末2とWebサーバ3としては、例えばCPU、ROM,RAM、ハードディスク(HDD)、ディスプレイ、マウス、キーボード、及び通信装置等の構成要素を備えるパーソナルコンピュータやサーバコンピュータを用いることができる。
【0013】
クライアント端末2は、CPUがHDDに記憶されているプログラム(例えばWebブラウザのプログラム)をRAM上に読み出して実行することにより機能的に実現されるWeb閲覧部4を備える。
【0014】
Web閲覧部4は、ユーザによる操作に基づいて、Webサーバ3に対してWebアプリケーションの実行を要求し、処理結果をディスプレイに表示するなど、周知のWebブラウザと同様の機能を有する。
【0015】
Webサーバ3は、アプリケーション記憶部5、アスペクト記憶部6、アプリケーション実行部7、及び実行可否決定部8を備えるとともに、外部に設けられたポリシ記憶部(以下、「ポリシDB」を称する)9にアクセス可能に構成されている。アプリケーション記憶部5及びアスペクト記憶部6は、HDD等の記憶装置によって機能的に実現され、アプリケーション実行部7及び実行可否決定部8は、CPUがHDD等の記憶装置に記憶されている所定のプログラムをRAM上に読み出して実行することにより機能的に実現される。ポリシDB9は、Webサーバ3と通信可能に接続されるDBサーバ等の情報処理装置(図示省略)のHDD等によって機能的に実現されるものとする。以下、各機能部について説明する。
【0016】
アプリケーション記憶部5は、図2に示すような、処理内容を規定する複数の内部関数10a,10bを含むWebアプリケーション11のプログラムを格納する。この例では、内部関数10a,10bは、いずれも、引数として与えられたArrayListを返却することを規定しているが、より複雑な処理の内容を規定していもよい。また、ここではWebアプリケーション11の内部関数10a,10bを2つ示したが、Webアプリケーション11は3つ以上の内部関数を含んでいてもよい。
【0017】
アスペクト記憶部6は、図3に示すような、Webアプリケーション11のプログラムに含まれる内部関数10a,10bのいずれかに対応する複数のアスペクト13a,13bのプログラムを記憶する。アスペクト13a,13bは、例えば、オープンソースとして一般に提供されるアスペクト指向フレームワーク(例えばAspectJ)において用いられる、アスペクト記述言語で記述されるプログラムである。具体的には、図3に示すように、各アスペクト13a,13bは、実行中のプログラムのコード中においてアスペクトを追加(ウィーブ)する1以上の位置を示すジョインポイント301と、1以上のジョインポイント301をまとめて定義するポイントカット302と、ポイントカット302で定義される1以上のジョインポイントにおいて実行されるそれぞれの処理の内容を示すアドバイス303とを含む。この例では、アスペクト13aは、ジョインポイント301で指定されたコード中の位置("com.nec.test.BusinessLogic.getSalesData_ot(*)"が呼び出されるタイミング)の直前(before)に、アドバイス303で指定された処理を実行することを示す。
【0018】
より詳細には、アスペクト13aは、「IDCheck.check」で特定される後述のポリシ決定部17による関数(内部関数10aの処理の実行可否を決定するための関数)を呼び出し、該関数の処理結果として不許可を示す「Deny」が返された場合に、内部関数10aの呼出元である上位関数に対し、「AspectJRuntime.Exception」で特定される例外を返す(例えば、エラー割り込みを発生させる)ことを規定している。アスペクト13bも同様に、Webアプリケーション11の内部関数10bの処理が実行される際に実行され、後述のポリシ決定部17による処理に対応する関数を呼び出し、処理結果が「Deny」の場合に、内部関数10bの呼出元である上位関数に対して例外を返すことを規定する。なお、これらアスペクト13a,13bは、1つのソースコード中にまとめて記述されていてもよいし、個別のソースコードであってもよい。
【0019】
ポリシDB9は、図4に示すように、ユーザの識別情報と該ユーザについて実行が許可されるWebアプリケーション11に含まれる内部関数10a,10bの識別情報とを対応付けたポリシ情報を記憶する。より詳細には、図示の例におけるポリシ情報は、XACML(eXtensible Access Control Markup Language)などの汎用の形式で記述することができ、主体(例えば、Webアプリケーション11の実行を要求するユーザ)に関する第1の記述400と、資源(該ユーザについて処理の実行が許可されるWebアプリケーション11中の内部関数10a,11bなど)に関する第2の記述401とを含む。なお、XACMLは、標準化団体OASIS(Organization for the Advancement of Structured Information Standards)いよって標準化されている、情報アクセスに関するポリシ情報の形式である。
【0020】
また、この例では、ポリシ情報は、第1の記述400中でユーザ指定位置403(図では、{ユーザID}で示す位置)に記述される識別情報に対応するユーザについて、第2の記述401中で資源指定位置404(図では、{リソースID}で示す位置)に記述される識別情報に対応する資源(例えば、Webアプリケーション11の内部関数10aなど)に関する処理の実行が許可され、それ以外の資源に関する処理の実行が拒否されることを示す。なお、ユーザ指定位置403には、ユーザの識別情報として、ユーザIDや、該ユーザが操作するクライアント端末2がWebサーバ3にアクセスした際に生成されるセッション情報に含まれるセッションIDなど、ユーザを識別可能な任意の情報を指定することができる。また、資源指定位置404には、処理実行が許可される資源の識別情報として、例えばWebアプリケーション11に含まれる内部関数10a,10bの名称などを指定することができる。なお、ポリシ情報において、処理実行が許可される資源として、内部関数だけでなく、クラスなどを指定することもできる。
【0021】
アプリケーション実行部7は、例えばサーブレットの実行環境を提供する所謂Webコンテナを用いて実現することができ、クライアント端末2からWebアプリケーション11の実行要求を受信した場合にセッション情報を生成したり、受信した実行要求に応じてWebアプリケーション11を実行したり、所定の条件を満たす場合(例えば、前述のエラー割り込みが発生した場合など)には、対応するWebアプリケーション11に含まれる内部関数10a,10bのエラー処理(例えば、エラーメッセージの表示や、Webアプリケーション11に関する処理の終了など)を実行する。
【0022】
実行可否決定部8は、Webアプリケーション11の実行を要求するユーザの識別情報をポリシDB9に記憶されているポリシ情報と照合することにより、Webアプリケーション11に含まれる内部関数10a,10bそれぞれの処理のうち実行対象となる関数の処理の実行可否を決定する。
【0023】
また、決定結果が実行可の場合、実行対象となる内部関数10a,10bの処理が実行されるようにアプリケーション実行部7を制御し(例えば、単に処理をアプリケーション実行部7に移行し)、決定結果が実行不可の場合、エラー割り込みにより、実行対象となる内部関数10a,10bの処理が実行されないようにアプリケーション実行部7を制御する。実行可否決定部8は、かかる機能を実現するために、識別情報取得部15、アスペクト指向制御部16、及びポリシ決定部17を備える。以下、各機能部について説明する。
【0024】
識別情報取得部15は、ユーザが操作するクライアント端末2からWebアプリケーション11へのアクセスに基づいて生成されるセッション情報から該ユーザの識別情報(例えば、セッションIDなど)を取得し、Webアプリケーション11の実行要求に応じてアプリケーション実行部7が生成するスレッドと、前記取得したユーザの識別情報とを対応付ける。
【0025】
アスペクト指向制御部16は、実行対象となる内部関数10a,10bの処理に対応するアスペクト13a,13bに基づいて、後述のポリシ決定部17に対し、該実行対象となる処理の実行可否の決定処理を実行させ、該処理の実行可否に基づいてアプリケーション実行部7を制御する。
【0026】
より詳細には、アスペクト指向制御部16は、アプリケーション実行部7が内部関数10aの処理を実行しようとする際に、該内部関数10aの処理に対応するアスペクト13a(図3)のアドバイス303で指定された処理を実行することにより、ポリシ決定部17を呼び出し、内部関数10aの処理について実行可否を決定する処理を実行させ、決定結果を受け取り、該決定結果に基づいてアプリケーション実行部7を制御する。なお、ポリシ決定部17として単なる関数を用いる場合、アスペクト指向制御部16が、アスペクト13aを介して該関数を呼び出して実行してもよい。
【0027】
ポリシ決定部17は、アスペクト13a,13bを介してアスペクト指向制御部16から呼び出された場合に、識別情報取得部15が取得したユーザの識別情報をポリシDB9に記憶されているポリシ情報と照合することにより、実行対象となるWebアプリケーション11の内部関数10a,10bの処理についての実行可否を決定し、決定結果をアスペクト指向制御部16へ渡す。
【0028】
図5は、情報処理システム1によるWebアプリケーション11の実行制御処理の大まかな流れを示すフローチャートである。以下、図5等を参照して、かかる処理の内容を説明する。なお、本明細書において、フローチャート等に示す各工程(符号が付与されていない部分的な工程を含む)は処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
【0029】
なお、かかる処理の前提として、アプリケーション実行部7は、Webサーバ3がクライアント端末2のWeb閲覧部4からWebアプリケーション11の実行要求を受信したときに、ユーザの識別情報を含むセッション情報を生成するものとする。また、識別情報取得部15は、前記生成されたセッション情報からユーザの識別情報を抽出し、アプリケーション実行部7が生成するスレッド上で実行されるアスペクト13a,13b中で参照され得るように、前記抽出した識別情報を該スレッドに対応づけているものとする。また、アスペクト指向制御部16は、アスペクト記憶部6から全てのアスペクト13a,13bを読み出し、ジョインポイント301(図3参照)で指定された位置(ここでは、内部関数10a,10bが実行される直前)でアスペクト13a,13bを実行できるように、アプリケーション実行部7による処理を監視しているものとする。
【0030】
上記のような前提のもとで、まず、アスペクト指向制御部16は、例えば内部関数10aが実行される直前に、内部関数10aに対応するアスペクト13aのアドバイス303(図3参照)で指定された処理を実行することにより、ポリシ決定部17に対し、内部関数10aの実行可否を問い合わせる(S501)。具体的には、内部関数10aの実行可否を決定するための関数を呼び出す。
【0031】
上記呼び出しに基づき、ポリシ決定部17は、ポリシ情報をポリシDB9内で検索し、ポリシ情報が見つかった場合(S502の判断がYesの場合)、Webアプリケーション11の実行要求者であるユーザについて、実行対象となる内部関数10aの実行可否を決定(判断)する(S503)。
【0032】
具体的には、ポリシ決定部17は、スレッドに対応付けられているユーザの識別情報を識別情報取得部15から取得し、該取得した識別情報を、検索により見つかったポリシ情報と照合することにより、かかるユーザの識別情報と、実行対象となる内部関数10aの識別情報とが対応付けられている場合には、実行可能であると決定し、決定結果をアスペクト指向制御部16へ出力する。
【0033】
アスペクト指向制御部16は、実行不可を示す決定結果を受け取った場合(S503の判断がNoの場合)、内部関数10aの呼出元である上位関数に対してエラー割り込みを行うことにより、実行対象となる内部関数10aの処理が実行されないようにアプリケーション実行部7を制御する(S504)。
【0034】
アプリケーション実行部7は、実行不可を示す決定結果を受け取った場合、実行対象となる内部関数10aの処理を実行せず、例えば、アスペクト指向制御部16によるエラー割り込みが発生した場合、エラー処理を実行する(例えば、エラーメッセージを出力する。S505)。
【0035】
一方、検索によりポリシDB9内にポリシ情報が見つからなかった場合(S502の判断がNoの場合)、又は実行対象となる内部関数10aについて実行不可と決定された場合(S503の判断がYesの場合)、アスペクト指向制御部16は、実行対象となる内部関数10aの処理が実行されるようにアプリケーション実行部7を制御する(第1実施形態では、単に処理をアプリケーション実行部7に移行する。S506)。アスペクト指向制御部16からアプリケーション実行部7に処理が移行すると、アプリケーション実行部7は、実行対象となる内部関数10aの処理を実行する(S507)。
【0036】
以上の処理は、内部関数10aに限らず、Webアプリケーション11に含まれる全ての関数(内部関数11bなど)に対しても同様に適用することができる。
【0037】
以下、図6を参照し、Webアプリケーション11の実行制御処理の具体的な流れを説明する。
【0038】
クライアント端末2のWeb閲覧部4は、ユーザの識別情報(例えば、識別子「JSESSIONID」で特定されるセッションIDなど)を含むリクエストデータD1をWebサーバ3へ送信する。
【0039】
識別情報情報保持部15は、アプリケーション実行部7が生成するセッション情報から、ユーザの識別情報(ここでは、「ID情報D5」と表記する)を取得し、スレッドに関連付ける。
【0040】
アスペクト指向制御部16は、内部関数10aに対応するアスペクト13a(ここでは、「アスペクトD2」と表記する)、及び内部関数10bに対応するアスペクト13b(ここでは、「アスペクトD3」と表記する)をアスペクト記憶部6からそれぞれ読み込み、内部関数10a,10bが実行される直前に、対応するアスペクトD2,D3のアドバイス303(図3参照)で指定された処理を実行可能な状態にする。より詳細には、かかるタイミングでアスペクトD2,D3のアドバイス303で指定された処理を実行できるように、アプリケーション実行部7の動作を監視する。
【0041】
そして、アスペクト指向制御部16は、例えば、内部関数10aが実行される直前に、アスペクトD2のアドバイス303で指定された処理を実行することにより、ポリシ決定部17に対し、内部関数10aの実行可否決定処理600を実行させる。
【0042】
ポリシ検索部17は、ポリシDB9に記憶されているポリシ情報(ここでは、「ポリシデータD4」と表記する)と、識別情報取得部15が保持するID情報D5とを用いて、図4を参照して説明した実行可否決定処理600を実行する。
【0043】
実行可否決定処理600の結果、実行可を示す決定結果が出力された場合、アプリケーション実行部7は、内部関数10aの処理を実行し、実行不可を示す決定結果が出力された場合、アスペクト指向制御部16によるエラー割り込みに基づき、内部関数10aのエラー処理を実行する。
【0044】
次に、アスペクト指向制御部16は、内部関数10bが実行される直前に、アスペクトD3のプログラムを実行することにより、ポリシ決定部17に対し、実行可否決定処理601を実行させる。実行可否決定処理601に用いるパラメータ及び処理内容は、実行可否決定処理600と同様である。また、出力される実行可否の決定結果に基くアプリケーション実行部7の動作についても前述と同様である。
【0045】
図7は、Webアプリケーション11の内部関数それぞれについての実行可否決定処理において、ID情報D5が、どのようにして横断的に使用されるのかを示す。
【0046】
まず、ユーザがクライアント端末2を操作することにより、Web閲覧部4は、Webサーバ3(より詳細には、アプリケーション実行部7)に対し、Webアプリケーション11の実行要求(以下、「リクエスト」と称する)を送信する(STEP1)。なお、アプリケーション実行部7は、そのリクエストに対して一つのスレッド9を割り当て(生成し)、セッション情報を生成する。なお、セッション情報は、リクエストを初めて受信した際に生成すれば足り、繰り返し生成しなくてもよい。
【0047】
識別情報取得部15は、アプリケーション実行部7がWebアプリケーション11を実行する前に、セッション情報からID情報D5を抽出し(STEP2)、該抽出したID情報D5をスレッド9に対応付ける(STEP3)。より詳細には、例えばJava(登録商標)実行環境が有するThreadLocal機能を使用し、ID情報D5への参照をスレッド9に対して設定する。そして、識別情報保持部15は、処理をアプリケーション実行部7に返す(STEP4)。
【0048】
続いて、アプリケーション実行部7は、Webアプリケーション11を実行し、これにより、例えば内部関数10aの実行が要求される。
【0049】
ここで、アスペクト指向制御部16は、内部関数10aに対応するアスペクト13aを実行することにより、ポリシ決定部17を呼び出し、内部関数10aについての実行可否決定処理を実行させる(STEP5)。
【0050】
ポリシ決定部17は、実行中のスレッド9を参照し、ThreadLocal機能に設定されたID情報D5への参照に基づいて、識別情報取得部15からID情報D5を取得する(STEP6)。そして、内部関数10aの実行可否を決定し、実行可であると決定した場合にのみ、内部関数10aが実行される(STEP7)。
【0051】
以上のように、本発明によれば、Webアプリケーションになんら変更を加えることなく、該Webアプリケーションに含まれる処理(内部関数に基づく処理や、クラスに基づく処理など)についての実行可否を決定し、該決定結果に応じてWebアプリケーションを実行する枠組みが実現される。例えば、周知のプログラム(フレームワークなど)によってアプリケーション実行部7及び実行可否決定部8を機能的に実現する場合、ポリシ情報と、Webアプリケーションに含まれる処理のうち実行可否を制御したい処理に対応するアスペクトとを作成するだけで、いわゆる「エンタイトルメントマネジメント」によるセキュリティ強化を容易に実現することができる。かかる枠組みが実現されることにより、Webシステムの新規開発においても、Webアプリケーション開発者による内部関数のアクセス制限のためのプログラミング作業を簡素化することができる。
【0052】
以上、本発明の実施形態を説明したが、本発明は、上記実施形態に限定されることなく種々に変形して適用することが可能である。
【0053】
[変形例]
例えば、第1実施形態で説明した情報処理システム1の構成を、図8に示すような構成の情報処理システム80に変更してもよい。この図において、第1実施形態で用いたのと同じ符号を付してある構成要素は、第1実施形態で説明したのと同様の機能を有する。
【0054】
情報処理システム80が情報処理システム1と異なる点は、アクセス制限の実施対象が、Webアプリケーション11の内部関数の処理ではなく、複数の内部クラス18a,18bの処理である点と、該内部クラス18a,18bに対応するアスペクト19a,19bがアスペクト記憶部6に記憶されている点と、ポリシ決定部17が、Webサーバ3の外側(例えば、サーバコンピュータを用いて構成されるポリシ検索装置81)に設けられる点が異なる。この場合、ポリシ情報中の第2の記述401には、処理実行が許可される資源として、内部クラス18a,18bの識別情報を指定しておくのがよい。なお、情報処理システム80によるWebアプリケーション11の実行制御方法は、第1実施形態で説明したのと同様である。
【0055】
また例えば、実施形態では、ポリシDB9は、Webサーバ3と通信可能に接続されるDBサーバ等の情報処理装置(図示省略)のHDD等によって機能的に実現されているが、第1実施形態におけるWebサーバ3や、上記変形例におけるポリシ決定装置81が備えるHDD等の記憶装置によって機能的に実現されてもよい。
【0056】
また例えば、図4に示すポリシ情報では、あるユーザについて実行を許可する資源が指定されている(例えば、第2の記述401において指定している)が、さらに「動作」を指定するようにしてもよい。
【0057】
また例えば、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限定されない。
【0058】
(付記1)
Webアプリケーションを実行するアプリケーション実行部と、
ユーザの識別情報と該ユーザについて実行が許可される前記Webアプリケーションに含まれる処理とを対応付けたポリシ情報を記憶するポリシ記憶部と、
前記Webアプリケーションの実行を要求するユーザの識別情報を前記ポリシ情報と照合することにより、前記Webアプリケーションに含まれる処理のうち実行対象となる処理の実行可否を決定し、実行可の場合には、前記実行対象となる処理が実行されるように、実行不可の場合には、エラー割り込みにより、前記実行対象となる処理が実行されないように、前記アプリケーション実行部を制御する実行可否決定部と、
を備えることを特徴とする情報処理システム。
【0059】
(付記2)
前記実行可否決定部は、前記ユーザが操作するクライアント端末からのアクセスに基づいて生成されるセッション情報から前記ユーザの識別情報を取得する、ことを特徴とする付記1に記載の情報処理システム。
【0060】
(付記3)
前記実行可否決定部は、
前記取得したユーザの識別情報を前記ポリシ情報と照合することにより、前記実行対象となる処理の実行可否を決定するポリシ決定部と、
前記実行対象となる処理に対応するアスペクトに基づいて、前記ポリシ決定部に対し、該実行対象となる処理の実行可否の決定処理を実行させ、該処理の実行可否に関する決定結果に基づいて前記アプリケーション実行部を制御するアスペクト指向制御部と、
を含む、ことを特徴とする付記2に記載の情報処理システム。
【0061】
(付記4)
Webアプリケーションの実行を制御するアプリケーション実行制御方法であって、
前記Webアプリケーションの実行を要求するユーザの識別情報を、ポリシ記憶部に記憶されている、該ユーザの識別情報と該ユーザについて実行が許可される前記Webアプリケーションに含まれる処理とを対応付けたポリシ情報と照合することにより、前記Webアプリケーションに含まれる処理のうち実行対象となる処理の実行可否を決定し、実行可の場合には、前記実行対象となる処理が実行されるように制御し、実行不可の場合には、エラー割り込みにより、前記実行対象となる処理が実行されないように制御する、ことを特徴とするアプリケーション実行制御方法。
【符号の説明】
【0062】
1…情報処理システム、2…クライアント端末、3…Webサーバ、4…Web閲覧部、5…アプリケーション記憶部、6…アスペクト記憶部、7…アプリケーション実行部、8…実行可否決定部、9…ポリシDB、10a,10b…内部関数、11…Webアプリケーション、13a,13b…アスペクト、15…識別情報取得部、16…アスペクト指向制御部、17…ポリシ決定部

【特許請求の範囲】
【請求項1】
Webアプリケーションを実行するアプリケーション実行部と、
ユーザの識別情報と該ユーザについて実行が許可される前記Webアプリケーションに含まれる処理とを対応付けたポリシ情報を記憶するポリシ記憶部と、
前記Webアプリケーションの実行を要求するユーザの識別情報を前記ポリシ情報と照合することにより、前記Webアプリケーションに含まれる処理のうち実行対象となる処理の実行可否を決定し、実行可の場合には、前記実行対象となる処理が実行されるように、実行不可の場合には、エラー割り込みにより、前記実行対象となる処理が実行されないように、前記アプリケーション実行部を制御する実行可否決定部と、
を備えることを特徴とする情報処理システム。
【請求項2】
前記実行可否決定部は、前記ユーザが操作するクライアント端末からのアクセスに基づいて生成されるセッション情報から前記ユーザの識別情報を取得する、ことを特徴とする請求項1に記載の情報処理システム。
【請求項3】
前記実行可否決定部は、
前記取得したユーザの識別情報を前記ポリシ情報と照合することにより、前記実行対象となる処理の実行可否を決定するポリシ決定部と、
前記実行対象となる処理に対応するアスペクトに基づいて、前記ポリシ決定部に対し、該実行対象となる処理の実行可否の決定処理を実行させ、該処理の実行可否に関する決定結果に基づいて前記アプリケーション実行部を制御するアスペクト指向制御部と、
を含む、ことを特徴とする請求項2に記載の情報処理システム。
【請求項4】
Webアプリケーションの実行を制御するアプリケーション実行制御方法であって、
前記Webアプリケーションの実行を要求するユーザの識別情報を、ポリシ記憶部に記憶されている、該ユーザの識別情報と該ユーザについて実行が許可される前記Webアプリケーションに含まれる処理とを対応付けたポリシ情報と照合することにより、前記Webアプリケーションに含まれる処理のうち実行対象となる処理の実行可否を決定し、実行可の場合には、前記実行対象となる処理が実行されるように制御し、実行不可の場合には、エラー割り込みにより、前記実行対象となる処理が実行されないように制御する、ことを特徴とするアプリケーション実行制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−175457(P2011−175457A)
【公開日】平成23年9月8日(2011.9.8)
【国際特許分類】
【出願番号】特願2010−38983(P2010−38983)
【出願日】平成22年2月24日(2010.2.24)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】