説明

アクセス制御装置

【課題】クライアントからの要求に対して情報提供を行う情報提供サーバにおいて、情報提供サーバ上のプログラムによる表示内容の設定の際に、ユーザの持つアクセス権に応じた表示内容の設定処理が簡素化されたアクセス制御装置を得ること。
【解決手段】リレーショナルデータベース20では、ユーザ認証手段3により認証されたログインユーザ情報テーブル21、提供する情報の識別子毎に利用可能なユーザの一覧が格納された提供対象情報利用可能ユーザテーブル22、および情報の識別子毎に提供可能情報が格納された情報テーブル23から、仮想テーブルであるログインユーザ提供可能情報テーブル25が合成される。表示内容設定手段6は、ログインユーザ提供可能情報テーブル25を参照し、ログインユーザへの提供可能情報を取得する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クライアント装置から情報提供サーバ装置へのアクセスに対して、ユーザの持つアクセス権に応じて、情報提供サーバ装置が提供する情報の内容を制御するアクセス制御装置に関するものである。
【背景技術】
【0002】
従来、Web(WWW:ワールドワイドウエッブ)におけるユーザの認証過程では、WebクライアントからWebサーバへのアクセスに際して、ユーザのアクセス権を確認し、そのアクセス権に応じた内容の表示を行っている。例えば、特許文献1では、ユーザ認証をWebページ単位で行えるようにすると共に、アクセスしたユーザに応じて表示内容を変更することができるようなWebページへのアクセス制御方法が記載されている。
【0003】
特許文献1では、ユーザが、Webサーバに接続されているクライアントから、Webサーバが管理するWebページにアクセスしようとすると、Webサーバ上で実行されているWebサーバプログラムによって、アクセスされたWebページに対応するスクリプトファイルが呼び出される。Webサーバでは、Webサーバプログラムがスクリプトを呼び出す際に、ユーザにアクセス権があるかどうかの認証をログイン情報に基づいて行う。
【0004】
認証された場合には、Webサーバプログラムは、スクリプトファイルの記述に従って、アクセスされたWebページに対応するアクセス制御設定ファイルにアクセスする。そして、アクセス制御設定ファイルの記述に基づいて、認証過程で確認されたユーザが表示要求を受けたページを見ることが可能かどうかを確認する。
【0005】
アクセス制御設定ファイルに対するアクセスの結果、そのWebページの少なくとも一部に対して表示許可がされている場合には、Webサーバプログラムは、スクリプトファイルの記述に従って、内容制御定義ファイルにアクセスする。内容制御定義ファイルは、アクセス権が制限された表示内容を特定するための情報と、その内容にアクセス可能なIDまたはアクセス権のレベルを定義する情報から構成されている。
【0006】
Webサーバプログラムは、内容制御定義ファイルの内容を読み取り、当該Webページに含まれるアクセス権の制限がなされている内容と、そのアクセス権についての情報を確認すると、次にスクリプトファイルの記述に従って、表示内容定義ファイルにアクセスする。表示内容定義ファイルは、該当するWebページにおけるすべてのアクセス権のレベルに対応する全情報を含んだHTML形式のテキストデータと、アクセス権に応じてそのテキストデータを編集するのに必要な付加データとから構成されている。
【0007】
Webサーバプログラムは、スクリプトファイルの記述に従い、アクセス制御設定ファイル、内容制御定義ファイル、および表示内容定義ファイルの内容に基づいて、ユーザがアクセス権を有する内容のみを含むHTMLファイルを作成し、Webクライアントへ送出し、送出された内容はWebクライアントで表示される。特許文献1では、以上のようにして、各ユーザのアクセス権に応じた表示内容のWebページがWebクライアントにて表示される。
【0008】
【特許文献1】特開平11−161602号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、上記特許文献1に記載の従来技術においては、情報提供サーバであるWebサーバ上で動作するサーバプログラムは、ユーザログイン情報と、アクセス制御設定ファイル、内容制御定義ファイル、および表示内容定義ファイルとに基づいて、ユーザの持つアクセス権に応じた表示内容を選択し、選択結果に応じた表示画面の作成を行う必要があり、プログラムの処理が複雑になるという問題があった。
【0010】
本発明は、上記に鑑みてなされたものであって、クライアントからの要求に対して情報提供を行う情報提供サーバにおいて、情報提供サーバ上のプログラムによる表示内容の設定の際に、ユーザの持つアクセス権に応じた表示内容の設定処理が簡素化されたアクセス制御装置を得ることを目的とする。
【課題を解決するための手段】
【0011】
上述した課題を解決し、目的を達成するために、本発明にかかるアクセス制御装置は、クライアント装置からの要求に対して情報提供を行う情報提供サーバ装置であって、前記クライアント装置から前記情報提供サーバ装置へアクセスするユーザのアクセス権に応じて、前記情報提供サーバ装置により提供する情報を制御するアクセス制御装置において、前記ユーザのログイン情報に基づき、前記ユーザが前記情報提供サーバ装置にアクセス可能か否かを判定するユーザ認証手段と、前記ユーザ認証手段により認証されたユーザのログイン情報と、ユーザのアクセス権に応じて提供される提供情報と、を含む複数のテーブルが格納されたリレーショナルデータベースと、前記認証されたユーザに表示する提供情報を設定する表示内容設定手段と、前記表示内容設定手段により設定された提供情報に基づいて、表示用の画面データを作成する画面作成手段と、前記画面作成手段により作成された画面データを前記クライアント装置に送出する画面送出手段と、を備え、前記表示内容設定手段は、前記リレーショナルデータベースにて、このリレーショナルデータベースの有するテーブル合成機能を適用して前記複数のテーブルから前記認証されたユーザに提供可能な情報が格納された仮想テーブルを作成し、この仮想テーブルから前記提供情報を取得することを特徴とする。
【発明の効果】
【0012】
この発明によれば、認証されたログインユーザのアクセス権に応じて、提供する情報を選択する際、選択処理はリレーショナルデータベースのテーブル合成機能を適用してデータベース内で予め実施しておくため、表示内容設定手段は、テーブル合成結果の仮想テーブルを参照するだけで、提供可能な情報を取得できる。そのため、表示内容設定手段の独自の処理が簡素化される。従って、表示内容設定手段を情報提供サーバ上で動作するプログラムにより実現する際に、プログラム処理を単純化でき、プログラムの製作効率、および品質を向上させる効果がある。
【発明を実施するための最良の形態】
【0013】
以下に、本発明にかかるアクセス制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【0014】
実施の形態1.
図1−1は、本発明の実施の形態1にかかるアクセス制御装置を含むサーバ―クライアントシステムを示す構成図、図1−2は、本実施の形態のアクセス制御装置の構成を示すブロック図である。
【0015】
図1−1に示すように、例えば計算機端末からなるクライアント1と、クライアント1からの情報の表示要求に対して、情報を表示させることが可能な情報提供サーバ2とが、例えばインターネットまたはLAN等により接続されている。情報提供サーバ2は、本実施の形態のアクセス制御装置に対応するものであり、情報提供サーバ2の機能の一部として、そのハードウェア資源を利用して構成されている。情報提供サーバは、例えばWebサーバ等である。
【0016】
図1−2に示すように、本実施の形態のアクセス制御装置は、ユーザ認証手段3と、画面作成手段4と、画面送出手段5と、表示内容設定手段6と、を備えている。
【0017】
ユーザ認証手段3は、クライアント1を操作するユーザのログイン情報を確認し、ログインしたユーザにアクセス権があるかどうかを判定する。ユーザのアクセス権については、例えばサーバ単位で予め設定されているものとする。画面作成手段4は、ユーザのアクセス権に応じて、提供する情報を選択し、表示画面データを作成するものであり、提供する情報の選択と設定は、表示内容設定手段6によりなされる。画像送出手段5は、画面作成手段4により作成された画面データをクライアント1に送出する。
【0018】
図2は、表示内容設定手段6の処理内容を説明するための模式図である。以下、図1−1、図1−2および図2を参照して、表示内容の設定方法について説明する。ユーザがクライアント1を介して情報提供サーバ2にアクセスすると、情報提供サーバ2上のユーザ認証手段3は、ユーザに対してログイン情報の入力を要求する。そして、ユーザ認証手段3は、入力されたログイン名およびパスワードからログインの可否を判定し、ログイン不可の場合は、エラーメッセージを表示する等を行い、ログインを拒否する。ログイン可の場合は、ログインユーザ情報をリレーショナルデータベース20のログインユーザ情報テーブル21に格納する。
【0019】
リレーショナルデータベース20には、情報提供要求元のユーザ情報が格納されたログインユーザ情報テーブル21に加えて、提供対象情報利用可能ユーザテーブル22と、情報テーブル23とが格納されている。提供対象情報利用可能ユーザテーブル22には、提供する情報の識別子毎に利用可能なユーザの一覧が格納されており、情報テーブル23には、情報の識別子毎に提供情報が格納されている。このように、提供対象情報利用可能ユーザテーブル22および情報テーブル23には、ユーザのアクセス権に応じて提供される提供情報が含まれている。
【0020】
本実施の形態では、リレーショナルデータベース20の有する仮想テーブル生成機能を用いることにより、ログインユーザ情報テーブル21と、提供対象情報利用可能ユーザテーブル22と、情報テーブル23とを、実テーブルの合成(JOIN)4を行う手段によって合成(または、結合)し、仮想テーブルであるログインユーザ提供可能情報テーブル25を生成する。仮想テーブルは、ログインユーザ情報テーブル21等の実テーブルとは異なり、実体を持つテーブルではないが、見た目上は、現在ログイン中のユーザに提供可能な情報のみが格納されたように見えるテーブルである。テーブルの合成は、どのテーブルと、どのテーブルとを、何をキーにして合成するかが記載された定義ファイルを参照して行う。
【0021】
表示内容設定手段6は、このようにして作成されたログインユーザ提供可能情報テーブル25から、ログインユーザに提供可能な情報を取得する。そして、画面作成手段4は画面データを作成し、画面送出手段5は作成された画面データをクライアント1に送信する。クライアント1は受信した画面データをもとに画面表示を行い、ユーザに情報の表示を行う。
【0022】
次に、リレーショナルデータベース20における仮想テーブルの生成機能について説明する。図3は、本実施の形態におけるテーブル合成の概念図である。クライアント1を操作するユーザ「userA」が情報提供サーバ2にログインすると、ユーザ認証手段3により、ログインユーザ情報テーブル21にログイン名「userA」が格納される。提供対象情報利用可能ユーザテーブル22には、予め、情報識別子と対象ユーザ名とが格納されている。図3の例では、userAが利用できる情報の情報識別子は、「ID1」、「ID2」、「ID4」である。情報テーブル23には、各情報識別子が示す情報の内容が提供情報として格納されている。
【0023】
実テーブルの合成4を行う手段は、ログインユーザ提供可能情報仮想テーブル定義35を参照して、実テーブルを合成し、仮想テーブルを生成する。図3の例では、ログインユーザ提供可能情報仮想テーブル定義35には、合成1および合成2の2つの合成が定義されている。すなわち、合成1は、ログインユーザ情報テーブル21と提供対象情報利用可能ユーザテーブル22とを合成するが、その際、それぞれ、ログインユーザ名カラムと、対象ユーザ名カラムをキーとして合成する。また、合成2では、提供対象情報利用可能ユーザテーブル22と情報テーブル23とを、それぞれの情報識別子カラムをキーとして合成する。仮想テーブルにおいて、合成結果の中で、合成もとのテーブルのうちのどのカラムを格納するかは、「仮想テーブル上のカラム1」にて定義されている。図3の例では、提供対象情報利用可能ユーザテーブルの提供情報カラムが、仮想テーブルの提供可能情報カラムとして表示される。この定義ファイルにより仮想テーブルが生成された結果、ログインユーザ提供可能情報テーブル25には、userAに対する提供可能情報として、Info1、Info2、およびInfo4が格納されている。
【0024】
図2に示すように、表示内容設定手段6は、仮想テーブルであるログインユーザ提供可能情報テーブル25を参照し、そこには既にログインユーザに提供可能な情報のみが格納されているため(独自の選択処理不要、S26)、提供可能な情報の選択を行う必要はなく、画面作成手段4に提供可能情報を渡すことができる(S27)。なお、従来技術においては、表示内容設定手段6は、ログインユーザ情報テーブル21および提供対象情報利用可能ユーザテーブル22の内容を比較し、ログインユーザに対して提供可能な情報が何であるかを判定し、判定された提供可能な情報のみを情報テーブル23から読み込み、画像作成手段4に渡す必要があった。このように、従来技術においては、表示内容設定手段6は、提供可能情報の選択に関して、独自の選択処理を行う必要があった。
【0025】
本実施の形態は、ハードディスク等の記憶手段、メモリ、及びCPU(Central Processing Unit)等を有するサーバコンピュータ等の情報処理装置により構成することができる。そして、コンピュータを、本実施の形態におけるユーザ認証手段3、画面作成手段4、画面送出手段5、および表示内容設定手段6等として機能させるためのプログラムを情報処理装置の記憶手段に記憶させ、メモリ上に呼び出して実行させることにより、上記処理を実行させることが可能となる。
【0026】
以上説明したように、本実施の形態によれば、ログインユーザの権限に応じて、提供する情報を選択する際、選択処理はリレーショナルデータベースの実テーブル合成(JOIN)機能を適用してデータベース内で予め実施しておくため、プログラムは合成結果の仮想テーブルを参照するだけで、提供可能な情報を取得できる。そのため、表示内容設定手段6を実現するプログラム処理を単純化でき、プログラムの製作効率、および品質を向上させる効果がある。
【0027】
実施の形態2.
実施の形態1では、提供対象情報利用可能ユーザテーブル22において、ユーザ単位でアクセス可能な情報を定義していたため、ユーザ毎に細かなアクセス管理を行える反面、ユーザ数が多くなると定義量が増えて手間がかかる、アクセス権が全く同じユーザが複数存在するなど、ユーザ数が多いシステムでは、管理に手間がかかった。本実施の形態は、これを解決することにより、ユーザ数が多いシステムでの管理効率を向上させたものである。
【0028】
図4は、本実施の形態によるテーブル合成の概念図である。図4において、各ユーザはユーザグループに属し、ユーザグループ定義テーブル47にて各ユーザ名と所属先のグループ名が定義されている。提供対象情報利用可能グループテーブル48には、情報識別子と対象グループ名との対応が定義されている。また、情報テーブル43には、情報識別子と提供情報との対応が定義されている。実テーブルの合成44を行う手段は、仮想テーブル定義49を参照し、ログインユーザ情報テーブル41、ユーザグループ定義テーブル47、提供対象情報利用可能グループテーブル48、および情報テーブル43を合成することにより、仮想テーブルであるログインユーザ提供可能情報テーブル46を生成する。なお、その他の構成は、実施の形態1の構成と同様である。
【0029】
図4の例では、ログインユーザ情報テーブル41の内容から、ログインユーザ名が「userA1」であり、「userA1」は、ユーザグループ定義テーブル47の内容から、グループ名「groupA」のグループに所属することがわかる。また、提供対象情報利用可能グループテーブル48の内容から、groupAが利用可能な情報識別子はID1、ID2、ID4であり、情報テーブル43の内容から、ID1、ID2、ID4が示す情報の内容は、それぞれ、Info1、Info2、Info4であることがわかる。これから、これらのテーブルを合成することにより、userA1が利用可能な情報として、ログインユーザ提供可能情報テーブル46には、Info1、Info2、Info4が格納されている。
【0030】
本実施の形態においては、表示内容設定手段6は、仮想テーブルを参照するだけで、userA1の利用可能な情報が、Info1、Info2、Info4であることが判り、これらを仮想テーブルから読込んで、画面作成手段4に渡す。
【0031】
以上説明したように、本実施の形態によれば、ユーザの利用可能な情報をユーザグループ単位で定義できるようにしたので、ユーザ数が多いシステム、および同じ権限を持つユーザが複数存在するようなシステムにおいて、ユーザ管理の効率を向上させる効果がある。
【0032】
実施の形態3.
実施の形態1では、提供対象情報利用可能ユーザテーブル22において、情報単位でアクセス可能なユーザを定義していたため、情報毎に細かなアクセス管理を行える反面、情報数が多くなると定義量が増えて手間がかかる、アクセス権限が全く同じ情報が複数存在するなど、情報数が多いシステムでは、管理に手間がかかった。本実施の形態は、これを解決することにより、情報数が多いシステムでの管理効率を向上させたものである。
【0033】
図5は、本実施の形態におけるテーブル合成の概念図である。図5において、各情報は情報グループに属し、情報グループ定義テーブル54にて各情報識別子とその所属先の情報グループ識別子との対応が定義されている。提供対象情報グループ利用可能ユーザテーブル52には、情報グループ識別子と、対象ユーザ名との対応が定義されている。また、情報テーブル53には、情報識別子と提供情報との対応が定義されている。実テーブルの合成55を行う手段は、仮想テーブル定義57を参照し、ログインユーザ情報テーブル51、提供対象情報グループ利用可能ユーザテーブル52、情報テーブル53、および情報グループ定義テーブル54を合成することにより、仮想テーブルとしてのログインユーザ提供可能情報テーブル56を生成する。なお、その他の構成は、実施の形態1の構成と同様である。
【0034】
図5の例では、ログインユーザ提供可能情報テーブル56の内容から、ログインユーザ名は「userA」であり、提供対象情報グループ利用可能ユーザテーブル52の内容から、userAが利用可能な情報グループ識別子はGID1、GID2、GID4であることがわかる。また、情報グループ定義テーブル54の内容から、情報グループ識別子GID1、GID2、GID4に所属する情報識別子はID1A、ID1B、ID2A、ID2B、ID2C、ID4A、ID4B、ID4B、ID4Cであり、情報テーブル53の内容から、それぞれの情報識別子が示す情報の内容はInfo1A、Info1B、Info2A、Info2B、Info2C、Info4A、Info4B、Info4Cであることがわかる。これから、これらのテーブルを合成することにより(実テーブルの合成55)、userAが利用可能な情報として、仮想テーブルであるログインユーザ提供可能情報テーブルには、Info1A、Info1B、Info2A、Info2B、Info2C、Info4A、Info4B、 Info4Cが格納されている。
【0035】
本実施の形態においては、表示内容設定手段6は、仮想テーブルを参照するだけで、userAが利用可能な情報がInfo1A、Info1B、Info2A、Info2B、Info2C、Info4A、Info4B、 Info4Cであることが判り、これらを仮想テーブルから読込んで、画面作成手段4に渡す。
【0036】
以上説明したように、本実施の形態によれば、ユーザの利用可能な情報を情報グループ単位で定義できるようにしたため、情報数が多いシステムや、同じ権限を対象とする情報が複数存在するようなシステムにおいて、情報利用権限管理の効率を向上させるという効果がある。
【0037】
実施の形態4.
実施の形態1では、ユーザが各情報を利用可能かどうかを定義していたが、情報の参照だけ可能にしたり、または情報の変更まで可能にするなど、利用形態のバリエーションには対応していなかった。本実施の形態は、これを解決するために考えられたものであって、参照、変更など、利用形態を考慮したアクセス権の定義を可能にすることにより、細かなアクセス管理ができるようにしたものである。
【0038】
図6は、本実施の形態によるテーブル合成の概念図である。図6において、提供対象情報利用形態ユーザテーブル62は、各情報識別子と対象ユーザとの対応に加えて、利用形態との対応も定義している。実テーブルの合成64を行う手段は、仮想テーブル定義66を参照し、ログインユーザ情報テーブル61、提供対象情報利用形態ユーザテーブル62、および情報テーブル63を合成することにより、仮想テーブルであるログインユーザ提供可能情報テーブル65を生成する。なお、その他の構成は、実施の形態1の構成と同様である。
【0039】
図6の例では、ログインユーザ情報テーブル61の内容から、ログインユーザ名はuserAであり、提供対象情報利用形態ユーザテーブル62の内容から、userAが利用可能な情報識別子はID1、ID2、 ID4であり、かつ、その利用形態は、ID1に対しては、Read/Writeが可能であり、ID2に対しては、Read/Writeが可能であり、ID4に関してはReadが可能であることが定義されている。情報テーブル63の内容から、それぞれの情報識別子が示す情報の内容はInfo1、Info2、Info4であることから、これらのテーブルを合成することにより(実テーブルの合成64)、userAが利用可能な情報およびその利用形態として、仮想テーブルであるログインユーザ提供可能情報テーブル65には、Info1(Read/Write)、 Info2(Read/Write)、 Info4(Read)が格納されている。
【0040】
本実施の形態においては、表示内容設定手段6は、仮想テーブルを参照するだけで、userAが利用可能な情報とその利用形態が判り、これらを仮想テーブルから読込んで、画面作成手段4に渡す。
【0041】
以上説明したように、本実施の形態によれば、参照、変更など、利用形態を考慮したアクセス権の定義をできるようにすることにより、細かなアクセス管理ができるようなる。
【産業上の利用可能性】
【0042】
以上のように、本発明にかかるアクセス制御装置は、Webサーバ等におけるアクセスの制御に有用である。
【図面の簡単な説明】
【0043】
【図1−1】実施の形態1にかかるアクセス制御装置を含むサーバ―クライアントシステムを示す構成図である。
【図1−2】実施の形態1にかかるアクセス制御装置の構成を示すブロック図である。
【図2】表示内容設定手段の処理内容を説明するための模式図である。
【図3】実施の形態1におけるテーブル合成の概念図である。
【図4】実施の形態2におけるテーブル合成の概念図である。
【図5】実施の形態3におけるテーブル合成の概念図である。
【図6】実施の形態4におけるテーブル合成の概念図である。
【符号の説明】
【0044】
1 クライアント
2 情報提供サーバ
3 ユーザ認証手段
4 画面作成手段
5 画面送出手段
6 表示内容設定手段
20 リレーショナルデータベース
21 ログインユーザ情報テーブル
22 提供対象情報利用可能ユーザテーブル
23 情報テーブル
24 実テーブルの合成(JOIN)
25 ログインユーザ提供可能情報テーブル

【特許請求の範囲】
【請求項1】
クライアント装置からの要求に対して情報提供を行う情報提供サーバ装置であって、
前記クライアント装置から前記情報提供サーバ装置へアクセスするユーザのアクセス権に応じて、前記情報提供サーバ装置により提供する情報を制御するアクセス制御装置において、
前記ユーザのログイン情報に基づき、前記ユーザが前記情報提供サーバ装置にアクセス可能か否かを判定するユーザ認証手段と、
前記ユーザ認証手段により認証されたユーザのログイン情報と、ユーザのアクセス権に応じて提供される提供情報と、を含む複数のテーブルが格納されたリレーショナルデータベースと、
前記認証されたユーザに表示する提供情報を設定する表示内容設定手段と、
前記表示内容設定手段により設定された提供情報に基づいて、表示用の画面データを作成する画面作成手段と、
前記画面作成手段により作成された画面データを前記クライアント装置に送出する画面送出手段と、
を備え、
前記表示内容設定手段は、前記リレーショナルデータベースにて、このリレーショナルデータベースの有するテーブル合成機能を適用して前記複数のテーブルから前記認証されたユーザに提供可能な情報が格納された仮想テーブルを作成し、この仮想テーブルから前記提供情報を取得することを特徴とするアクセス制御装置。
【請求項2】
前記表示内容設定手段の設定する提供情報は、ユーザが属するグループ単位で定義されていることを特徴とする請求項1に記載のアクセス制御装置。
【請求項3】
前記表示内容設定手段の設定する提供情報は、1または複数の情報からなる情報グループ単位で定義されていることを特徴とする請求項1または2に記載のアクセス制御装置。
【請求項4】
前記表示内容設定手段の設定する提供情報には、提供情報の利用形態についての情報が付加されていることを特徴とする請求項1〜3のいずれか1つに記載のアクセス制御装置。

【図1−1】
image rotate

【図1−2】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2008−226003(P2008−226003A)
【公開日】平成20年9月25日(2008.9.25)
【国際特許分類】
【出願番号】特願2007−65218(P2007−65218)
【出願日】平成19年3月14日(2007.3.14)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】