説明

ユーザ情報提供装置及びプログラム

【課題】 認証機能提供製品が別の認証機能提供製品に変更されるとしても、Webアプリケーションに実装される機能の改修を不要としつつ、必要なユーザ情報を認証機能提供製品及び認証機能提供製品以外のデータベースから取得できる。
【解決手段】 ユーザ情報取得方法定義手段が、前記取得に用いる属性名、ユーザ情報取得先及びユーザ情報取得パラメータ(但し、前記ユーザ情報取得パラメータは、前記第1のユーザ情報と前記第2のユーザ情報との両者が含む属性名を表す)を含むユーザ情報取得方法を定義する。前記ユーザ情報提供装置は、前記ユーザ情報取得方法に基づいて、リクエストから前記第1のユーザ部分情報を取得する。前記ユーザ情報提供装置は、前記ユーザ情報取得方法に基づいて、前記第1のユーザ部分情報の属性名を前記ユーザ情報取得パラメータとして用い、前記記憶装置から前記第2のユーザ部分情報を取得する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、ユーザ情報提供装置及びプログラムに関する。
【背景技術】
【0002】
Web(World Wide Web)アプリケーションを構築する際には、ユーザ認証のしくみを組み込むことが不可欠になっている。この種の認証機能を実現する方法としては、認証機能をWebアプリケーションに独自に作りこむ方法の他に、認証機能を提供するアプリケーションサーバ製品やシングルサインオン機能を提供するアクセス管理サーバ製品を利用する方法がある。
【0003】
このような認証機能やシングルサインオン機能を提供する製品(以下、「認証機能提供製品」とも呼ぶ)は、ユーザの認証処理を実行し、認証が成功すると、認証済みユーザのユーザ情報をHTTP(Hyper Text Transfer Protocol)ヘッダやクッキー(Cookie)等に含めてWebアプリケーションに受け渡す機能をもっている。
【0004】
Webアプリケーションは、認証機能提供製品がユーザ情報を提供する方法、及び認証機能提供製品が管理するユーザ情報に合せて、ユーザ情報を取得する機能を実装し、必要なユーザ情報の取得処理を実行する。認証機能提供製品にWebアプリケーションが必要とするユーザ情報を管理していない場合は、認証機能提供製品から取得される認証済みユーザのユーザIDをキーとして、認証機能提供製品以外のデータベースから必要なユーザ情報を取得する取得処理を実行する。しかる後、Webアプリケーションは、取得したユーザ情報を利用することにより、画面表示やアクセス制御などを行う。
【0005】
しかしながら、認証機能提供製品を別の認証機能提供製品に変更する場合、認証機能提供製品毎に、ユーザ情報を提供する方法が異なり、かつ管理されるユーザ情報が異なるため、Webアプリケーションは、変更後の認証機能提供製品に合せて、ユーザ情報を取得する機能を改修する必要があるという不都合がある。
【0006】
このため、認証機能提供製品が別の認証機能提供製品に変更されるとしても、Webアプリケーションに実装される機能の改修を不要とするユーザ情報取得技術が考案されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2010−267118号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、上記のようなユーザ情報取得技術では、認証機能提供製品が別の認証機能提供製品に変更される場合に、Webアプリケーションは、変更後の認証機能提供製品からは必要なユーザ情報を取得できるが、変更後の認証機能提供製品以外のデータベースからは必要なユーザ情報を取得できないという不都合がある。
【0009】
本発明が解決しようとする課題は、認証機能提供製品が別の認証機能提供製品に変更されるとしても、Webアプリケーションに実装される機能の改修を不要としつつ、必要なユーザ情報を認証機能提供製品及び認証機能提供製品以外のデータベースから取得し得るユーザ情報提供装置及びプログラムを提供することである。
【課題を解決するための手段】
【0010】
実施形態のサービス提供システムは、認証サーバ装置、Web/アプリケーションサーバ装置及び記憶装置を備えている。
【0011】
前記認証サーバ装置は、リクエストを端末から受信すると、前記リクエストを送信したユーザの認証処理を実行し、前記認証処理の成功後、認証された前記ユーザのユーザ情報が格納された前記リクエストを送信する。前記第1のユーザ情報は、複数の属性名と前記複数の属性名の各々に対応する属性値とからなる。
【0012】
前記Web/アプリケーションサーバ装置においては、サービス提供手段が、前記送信されたリクエストに応じて、前記端末にサービス情報を提供する。
【0013】
前記記憶装置は、前記端末に前記サービス情報を提供するために用いられ、第2のユーザ情報を記憶する。前記第2のユーザ情報は、前記第1のユーザ情報が含むいずれかの属性名とこの属性名に対応する属性値、及びこの属性名とは異なる属性名と当該異なる属性名に対応する属性値からなる。
【0014】
前記Web/アプリケーションサーバ装置においては、ユーザ情報提供装置が設けられ、第1のユーザ部分情報及び第2のユーザ部分情報に相当する第3の部分情報を前記サービス提供手段に送出する。前記第1のユーザ部分情報は、前記第1のユーザ情報から一部が取得されてなる。前記第2のユーザ部分情報は、前記第2のユーザ情報から一部が取得されてなる。
【0015】
前記ユーザ情報提供装置においては、ユーザ情報取得方法定義手段が、前記取得に用いる属性名、ユーザ情報取得先及びユーザ情報取得パラメータを含むユーザ情報取得方法を定義する。前記取得に用いる属性名は、前記第1のユーザ情報と前記第2のユーザ情報とのうちの少なくとも一方が含む属性名のうちの前記取得に用いる属性名である。前記ユーザ情報取得パラメータは、当該取得に用いる属性名のうちの前記第2のユーザ情報だけが含む属性名に対応する属性値を取得する際に必要となる。但し、前記ユーザ情報取得パラメータは、前記取得に用いる属性名のうち、前記第1のユーザ情報と前記第2のユーザ情報との両者が含む属性名を表す。
【0016】
前記ユーザ情報提供装置においては、ユーザ情報格納方法定義手段が、前記取得に用いる属性名、当該取得に用いる属性名に対応し、前記属性値を格納する際の属性名を示す格納属性名、ユーザ情報格納先及び当該属性値を格納する際に必要となるユーザ情報格納パラメータを含むユーザ情報格納方法を定義する。但し、前記ユーザ情報格納パラメータは、前記ユーザ情報格納先がセッション以外のとき、前記格納属性名のうち、前記ユーザ情報取得パラメータが表す属性名に対応し、前記属性値を格納する際の属性名を示す格納属性名を表す。
【0017】
前記ユーザ情報提供装置においては、前記ユーザ情報取得方法に基づいて、前記送信されたリクエストから前記第1のユーザ部分情報を取得する。
【0018】
前記ユーザ情報提供装置においては、前記ユーザ情報取得方法に基づいて、前記第1のユーザ部分情報の属性名を前記ユーザ情報取得パラメータとして用いることにより、前記記憶装置から前記第2のユーザ部分情報を取得する。
【0019】
前記ユーザ情報提供装置においては、前記ユーザ情報格納方法に基づいて、前記取得された第1のユーザ部分情報及び前記取得された第2のユーザ部分情報の属性名を前記格納属性名に替えた後、当該第1のユーザ部分情報及び当該第2のユーザ部分情報からなる前記第3のユーザ情報を前記ユーザ情報格納先により示される記憶領域に書込む。
【0020】
前記ユーザ情報提供装置においては、前記書込まれた第3のユーザ情報を前記サービス提供手段に送出する。
【図面の簡単な説明】
【0021】
【図1】第1の実施形態に係るユーザ情報提供装置を含むサービス提供システムの構成例を示す模式図である。
【図2】同実施形態における共通ユーザ情報記憶部の構成を示す模式図である。
【図3】同実施形態におけるアプリケーションユーザ情報記憶部の構成を示す模式図である。
【図4】同実施形態におけるユーザ情報取得方法定義部の構成を示す模式図である。
【図5】同実施形態における一時記憶部の構成を示す模式図である。
【図6】同実施形態におけるユーザ情報格納方法定義部の構成を示す模式図である。
【図7】同実施形態におけるユーザ情報提供装置の動作の一例を示すフローチャートである。
【図8】第2の実施形態に係るユーザ情報提供装置を含むサービス提供システムの構成例を示す模式図である。
【図9】同実施形態におけるユーザ情報取得方法定義部の構成を示す模式図である。
【図10】同実施形態におけるユーザ情報格納方法定義部の構成を示す模式図である。
【図11】同実施形態におけるユーザ情報取得/格納方法選択ルール定義部の構成を示す模式図である。
【図12】同実施形態におけるユーザ情報提供装置の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0022】
以下、各実施形態について図面を参照して説明する。なお、以下のユーザ情報提供装置は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体からコンピュータにインストールされ、ユーザ情報提供装置の機能を当該コンピュータに実現させるためのプログラムが用いられる。
【0023】
(第1の実施形態)
図1は、第1の実施形態に係るユーザ情報提供装置を含むサービス提供システムの構成の一例を示す模式図であり、図2〜図6は同サービス提供システム内の各記憶部又は定義部の構成例を示す模式図である。
【0024】
このサービス提供システム1は、クライアント端末10、認証サーバ装置20及びWeb/アプリケーションサーバ装置30を備えている。
【0025】
クライアント端末10は、任意のWebブラウザ部(図示せず)が設けられている。Webブラウザ部は、ユーザの操作により、リクエストを認証サーバ装置20及びWeb/アプリケーションサーバ装置30に送信する機能と、Web/アプリケーションサーバ装置30から提供されるサービス情報を表示する機能とをもっている。
【0026】
認証サーバ装置20は、共通ユーザ情報記憶部21、認証部22及びユーザ情報提供部23を備えている。
【0027】
共通ユーザ情報記憶部21は、認証部22及びユーザ情報提供部23から読出/書込可能なデータベースであり、図2に示す如き、第1のユーザ情報テーブル21aを記憶している。第1のユーザ情報テーブル21aは、属性名としてのUSER_ID(ユーザID)、PASSWORD(パスワード)及びROLE(ロール)に対応する属性値を含む各フィールドからなるレコードをユーザ毎に記憶している。なお、第1のユーザ情報テーブル21aに記憶された複数の属性名と当該複数の属性名の各々に対応する属性値とからなる情報を第1のユーザ情報ともいう。
【0028】
認証部22は、リクエストをクライアント端末10から受信すると、リクエストを送信したユーザが認証済みのユーザであるか否かを判定し、否の場合(すなわち、未認証である場合)に、当該ユーザに対しての認証処理を実行する機能をもっている。
【0029】
ユーザ情報提供部23は、認証部22での認証処理の成功後、認証済みユーザのユーザ情報をHTTPヘッダやクッキー等に含めて、Web/アプリケーションサーバ装置30に提供(送出)する機能をもっている。また、ユーザ情報提供部23は、後述するWeb/アプリケーションサーバ装置30からの取得要求に応じて、認証済みユーザ(すなわち、HTTPヘッダやクッキー等に含まれるユーザID及びパスワードにより示されるユーザ)の第1のユーザ情報をWeb/アプリケーションサーバ装置30に提供する機能をもっている。
【0030】
一方、Web/アプリケーションサーバ装置30は、アプリケーションユーザ情報記憶部40、サービス提供部50及びユーザ情報提供装置60を備えている。
【0031】
アプリケーションユーザ情報記憶部40は、ユーザ情報提供装置60から読出可能なデータベースであり、図3に示す如き、第2のユーザ情報テーブル40aを記憶している。第2のユーザ情報テーブル40aは、属性名としてのUSER_ID(ユーザID)、USER_NAME(ユーザ名)、MAIL(メールアドレス)及びTEL(電話番号)に対応する属性値を含む各フィールドからなるレコードをユーザ毎に記憶している。なお、第2のユーザ情報テーブル40aに記憶された属性名及び属性値からなる情報を第2のユーザ情報ともいう。第2のユーザ情報は、第1のユーザ情報が含むいずれかの属性名(USER_ID)とこの属性名に対応する属性値及びこの属性名とは異なる属性名(USER_NAME、MAIL、TEL)と当該異なる属性名に対応する属性値からなる。
【0032】
なお、本実施形態では、アプリケーションユーザ情報記憶部40がWeb/アプリケーションサーバ装置30内に含まれる構成としたが、これに限定されず、例えば、アプリケーションユーザ情報記憶部40がWeb/アプリケーションサーバ装置30に接続される外部記憶装置等に含まれる構成であってもよい。
【0033】
サービス提供部50は、クライアント端末10から送出されたリクエストに応じて、サービス情報をクライアント端末10に提供する機能をもっている。なお、「サービス提供部」の名称は、「サービスロジック部」、「サービス実装部」又は「サービス情報提供部」等の名称に適宜読み替えてもよい。
【0034】
ここで、ユーザ情報提供装置60は、Web/アプリケーションサーバ装置30に設けられ、第1のユーザ情報から一部が取得されてなる第1のユーザ部分情報と、第2のユーザ情報から一部が取得されてなる第2のユーザ部分情報に相当する第3のユーザ情報をサービス提供部50に送出するものである。具体的には、ユーザ情報提供装置60は、ユーザ情報取得方法定義部61、アクセス検知部62、ユーザ情報取得部63、一時記憶部64、ユーザ情報格納方法定義部65及びユーザ情報格納部66を備えている。
【0035】
ユーザ情報取得方法定義部61は、予め操作者の設定操作により、図4に一例を示すように、認証サーバ装置20及びアプリケーションユーザ情報記憶部40からどのようにユーザ情報を取得するかを示すユーザ情報取得方法61aを定義する。なお「定義」の用語は、「設定」と読み替えてもよく、これは本明細書中の他の説明箇所でも同様である。ユーザ情報取得方法61aは、取得属性名、ユーザ情報取得先及びユーザ情報取得パラメータを含んでいる。
【0036】
ユーザ情報取得方法の「取得属性名」は、ユーザ情報取得部63によって取得されるユーザ情報の属性名を示しており、補足すると、第1のユーザ情報と第2のユーザ情報とのうちの少なくとも一方が含む属性名のうちの当該取得に用いる属性名を示している。「ユーザ情報取得先」は、認証サーバ装置20及びアプリケーションユーザ情報記憶部40に記憶されたユーザ情報(例えば、属性名としてのUSER_ID、ROLE、USER_NAME及びTEL等に対応する属性値)をどこから取得するかを定義する。本実施形態では、「HTTP_HEADER」はHTTPヘッダから取得、「RDB_USER1」はリレーショナルデータベース(換言すると、アプリケーションユーザ情報記憶部40)から取得することを示している。また、「ユーザ情報取得パラメータ」は、取得属性名が示す属性名のうちの第2ユーザ情報だけが含む属性名に対応する属性値を取得する際に必要となるパラメータ(例えば、取得属性名が示す属性名のうち、第1のユーザ情報と第2のユーザ情報との両者が含む属性名)を定義する。ここでは、取得属性名「USER_NAME」及び取得属性名「TEL」に対応する属性値をアプリケーションユーザ情報記憶部40から取得する際に、取得属性名「USER_ID」に対応する属性値が取得キーとして必要であることを示している。
【0037】
アクセス検知部62は、リクエストをクライアント端末10から受信すると、認証サーバ装置20内の認証部22と同様に、リクエストを送信したユーザが認証済みユーザであるか否かを判定し、否の場合(すなわち、未認証である場合)には、当該受信したリクエストを認証サーバ装置20にリダイレクトし、認証済みユーザである場合には、このユーザの第1のユーザ情報を取得するための取得要求を認証サーバ装置20に送信する機能をもっている。また、アクセス検知部62は、認証済みユーザの第1のユーザ情報を認証サーバ装置20から取得すると、当該取得した第1のユーザ情報をリクエスト内に(例えば、HTTPヘッダやクッキー等に含めて)格納し、このリクエストをユーザ情報取得部63に受け渡す機能をもっている。
【0038】
ユーザ情報取得部63は、ユーザ情報取得方法定義部61で定義されたユーザ情報取得方法61aに基づいて、アクセス検知部62から受け渡されるリクエスト及びアプリケーションユーザ情報記憶部40から第1のユーザ部分情報及び第2のユーザ部分情報を取得する機能をもっている。
【0039】
具体的には、ユーザ情報取得部63は、ユーザ情報取得方法61aに基づいて、アクセス検知部62から受け渡されるリクエストから第1のユーザ部分情報を取得すると共に、第1のユーザ部分情報の属性名をユーザ情報取得パラメータとして用いることにより、アプリケーションユーザ情報記憶部40から第2のユーザ部分情報を取得し、当該取得した第1のユーザ部分情報及び第2のユーザ部分情報を一時記憶部64に書込む処理を実行する。
【0040】
一時記憶部64は、図5に示す如き、ユーザ情報取得部63により取得された取得済みユーザ情報64a(すなわち、第1のユーザ部分情報及び第2のユーザ部分情報に相当する第3のユーザ情報)を一時的に記憶している。
【0041】
ユーザ情報格納方法定義部65は、予め操作者の設定操作により、図6に一例を示すように、ユーザ情報取得部63により取得されたユーザ部分情報をどのように格納するかを示すユーザ情報格納方法65aを定義する。ユーザ情報格納方法65aは、取得属性名、格納属性名、ユーザ情報格納先及びユーザ情報格納パラメータを含んでいる。
【0042】
ユーザ情報格納方法の「取得属性名」は、ユーザ情報取得部63で取得されたユーザ部分情報の属性名を示し、換言すると、ユーザ情報取得方法定義部61に定義された「取得属性名」を表す。「格納属性名」は、取得属性名と対応するように定義され、後述するユーザ情報格納部66により任意の記憶領域に格納される(書込まれる)際の属性名を示している。ここでは、例えば、取得属性名「USER_ID」に対応する属性値を任意の記憶領域に格納する際に、属性名を取得属性名「USER_ID」から格納属性名「U_ID」に替えて格納することを示している。また、「ユーザ情報格納先」は、ユーザ情報取得部63により取得されたユーザ情報をどこに格納するかを定義する。本実施形態では、「SESSION」はHTTPセッションに格納することを示している。更に、「ユーザ情報格納パラメータ」はユーザ情報を格納する際に必要となるパラメータを定義するが、ユーザ情報格納パラメータを必要とするユーザ情報が無い場合にはユーザ情報格納方法から適宜省略されてもよい。補足すると、ユーザ情報格納パラメータは、ユーザ情報格納先がセッション以外のとき、格納属性名のうち、ユーザ情報取得パラメータが表す属性名に対応し、属性値を格納する際の属性名を示す格納属性名を表す。
【0043】
ユーザ情報格納部66は、ユーザ情報格納方法定義部65で定義されたユーザ情報格納方法65aに基づいて、ユーザ情報取得部63で取得された第1のユーザ部分情報及び第2のユーザ部分情報を格納属性名に替えた後、当該第1のユーザ部分情報及び当該第2のユーザ部分情報からなる第3のユーザ情報をユーザ情報格納先により示されるHTTPセッションやメモリ(図示せず)に格納する(書込む)機能をもっている。
【0044】
また、ユーザ情報格納部66は、当該書込まれた第3のユーザ情報をサービス提供部50に送出する機能をもっている。
【0045】
次に、以上のように構成されたユーザ情報提供装置の動作について、図2〜図6の模式図と、図7のフローチャートとを参照しながら説明する。但し、アクセス検知部62は、ユーザID「user01」の認証済みユーザのリクエストを受信するものと仮定する。
【0046】
始めに、アクセス検知部62は、認証済みユーザのリクエストをクライアント端末10から受信すると、このユーザの第1のユーザ情報を取得するための取得要求を認証サーバ装置20に送信し、認証サーバ装置20から第1のユーザ情報(例えば、ユーザID「user01」、ロール「userRole」)を取得し、当該取得した第1のユーザ情報を当該リクエスト内に格納した後に、このリクエストをユーザ情報取得部63に受け渡す(ステップS101)。
【0047】
続いて、ユーザ情報取得部63は、ユーザ情報取得方法61aをユーザ情報取得方法定義部61から取得する(ステップS102)。
【0048】
次に、ユーザ情報取得部63は、当該取得したユーザ情報取得方法内の取得属性名(例えば、USER_ID、ROLE、USER_NAME、TEL)のうちの1つを選択する(ステップS103)。ここでは、ユーザ情報取得部63は取得属性名「USER_NAME」を選択するものとする。
【0049】
続いて、ユーザ情報取得部63は、当該選択した取得属性名「USER_NAME」に対応する属性値を取得するために、ユーザ情報取得パラメータが必要であるか否かを判定する(ステップS104)。なお、ステップS104の判定の結果が否を示す場合(ステップS104:「不必要」)には、ステップS106の処理に進む。
【0050】
ステップS104の判定の結果が必要である旨を示す場合(ステップS104:「必要」)には、ユーザ情報取得部63は、取得属性名「USER_NAME」に対応する属性値を取得するためのユーザ情報取得パラメータ「USER_ID」に対応する属性値が既に取得済みであるか否かを判定する(ステップS105)。なお、ステップS105の判定の結果が否を示す場合(ステップS105:「未取得」)には、ステップS103の処理に戻り、ユーザ情報取得パラメータとして定義されているUSER_IDを取得属性名として選択する。
【0051】
ステップS105の判定の結果が取得済みである旨を示す場合(ステップS105:「取得済み」)には、ユーザ情報取得部63は、ユーザ情報取得方法に基づいて、取得属性名「USER_NAME」に対応する属性値「ユーザ01」をアプリケーションユーザ情報記憶部40から取得し(ステップS106)、取得属性名「USER_NAME」及び当該取得した属性値「ユーザ01」を関連付けて一時記憶部64に書込む。
【0052】
次に、ユーザ情報取得部63は、ユーザ情報取得方法61a内に定義された取得属性名と、一時記憶部64に記憶した取得属性名とを比較することにより、未取得のユーザ情報(ユーザ部分情報)が存在するか否かを判定する(すなわち、ユーザ情報取得方法61a内に定義された取得属性名が全て一時記憶部64に記憶されているか否かを判定する)(ステップS107)。なお、ステップS107の判定の結果が存在する旨を示す場合(ステップS107:「存在する」)には、ステップS103の処理に戻り、未取得のユーザ情報(ユーザ部分情報)の取得属性名を選択し、ステップS103〜S107の処理を再度実行する。
【0053】
ステップS107の判定の結果が否を示す場合(ステップS107:「存在しない」)には、ユーザ情報格納部66は、ユーザ情報格納方法65aをユーザ情報格納方法定義部65から取得する(ステップS108)。
【0054】
続いて、ユーザ情報格納部66は、当該取得したユーザ情報格納方法65a内の取得属性名(例えば、USER_ID、USER_NAME、ROLE、TEL)のうちの1つを選択する(ステップS109)。ここでは、ユーザ情報格納部66は取得属性名「USER_ID」を選択するものとする。
【0055】
次に、ユーザ情報格納部66は、ユーザ情報格納方法65aに基づいて、取得属性名「USER_ID」に対応する属性値「user01」を格納属性名「U_ID」と関連付けてユーザ情報格納先「SESSION」に格納し(ステップS110)、取得属性名「USER_ID」及びこれに対応する属性値「user01」を一時記憶部から削除する。
【0056】
続いて、ユーザ情報格納部66は、ユーザ情報格納方法65a内に定義された取得属性名と、一時記憶部64に記憶された取得属性名とを比較することにより、未格納のユーザ情報が存在するか否かを判定する(すなわち、ユーザ情報格納方法65a内に定義された取得属性名が全て一時記憶部64から削除されているか否かを判定する)(ステップS111)。なお、ステップS111の判定の結果が存在する旨を示す場合(ステップS111:「存在する」)には、ステップS109の処理に戻り、未格納のユーザ情報(ユーザ部分情報)の取得属性名を選択し、ステップS109〜S111の処理を再度実行する。
【0057】
ステップS111の判定の結果が否を示す場合(ステップS111:「存在しない」)には、ユーザ情報格納部66は、ユーザ情報格納方法65aに基づいて格納された認証済みユーザのユーザ情報(第3のユーザ情報)をサービス提供部50に受け渡し(ステップS112)、ユーザ情報提供装置60での処理を終了させる。
【0058】
なお、サービス提供部50は、ユーザ情報提供装置60から認証済みユーザのユーザ情報を受け渡されると、当該ユーザに対してサービス情報を提供する。
【0059】
以上説明した第1の実施形態によれば、第1のユーザ部分情報の属性名をユーザ情報取得パラメータとして用い、取得属性名が示す属性名のうちの第2のユーザ情報だけが含む属性名に対応する属性値を第2のユーザ情報から取得する構成により、認証機能提供製品が別の認証機能提供製品に変更されるとしても、変更後の認証機能提供製品以外のデータベースからも必要なユーザ情報(第2のユーザ部分情報)を取得できるため、Web/アプリケーションサーバ装置30の実装を変更する必要がなく、運用の負担を軽減できる。
【0060】
(第2の実施形態)
図8は、本発明の第2の実施形態に係るユーザ情報提供装置を含むサービス提供システムの構成例を示す模式図であり、図1と同一部分には同一符号を付し、付加された機能部を含む箇所には符号´を付してその詳しい説明を省略し、ここでは付加された機能部について主に述べる。
【0061】
本実施形態は、第1の実施形態の変形例であり、取得するユーザ情報や格納するユーザ情報を条件に応じて変更する形態であって、具体的には図1に示した構成に対し、ユーザ情報取得/格納方法選択ルール定義部67及びユーザ情報取得/格納方法選択部68を付加している。
【0062】
また、ユーザ情報取得方法61aは、図9に一例を示すように、前述の取得属性名、ユーザ情報取得先及びユーザ情報取得パラメータの他に「取得方法」を含み、ユーザ情報格納方法65aは、図10に一例を示すように、前述の取得属性名、格納属性名、ユーザ情報格納先及びユーザ情報格納パラメータの他に「格納方法」を含んでいる。なお、「取得方法」及び「格納方法」の詳細は後述するものとする。
【0063】
ここで、ユーザ情報取得/格納方法選択ルール定義部67は、予め操作者の設定操作により、図11に一例を示すように、ユーザ情報取得方法及びユーザ情報格納方法をどのように選択するかを示すユーザ情報取得/格納方法選択ルール67aを定義する。ユーザ情報取得/格納方法選択ルール67aは、条件種別、条件、取得方法及び格納方法を含んでいる。
【0064】
ユーザ情報取得/格納方法選択ルールの「条件種別」は、ユーザ情報取得方法及びユーザ情報格納方法をどのような条件に基づいて選択するかを定義し、「条件」は、条件種別の具体的な値を定義する。ここでは、例えば「path(すなわち、ユーザによって要求されるURLパス)」が条件種別として定義され、その具体的な値として「/sample/App1」が条件として定義されている。また「取得方法」は、ユーザ情報取得方法61a内の取得方法と対応しており、同値の取得方法をもつユーザ情報取得方法を選択可能であることを示している。更に「格納方法」は、ユーザ情報格納方法65a内の格納方法と対応しており、同値の格納方法をもつユーザ情報格納方法を選択可能であることを示している。
【0065】
なお、本実施形態では、ユーザ情報取得/格納方法選択ルールの条件種別としてURLパスが定義されているが、これに限定されず、例えば、アクセス時間やユーザIDの体系(具体的には、ユーザIDの桁数や頭文字)等が条件種別として定義されてもよい。
【0066】
ユーザ情報取得/格納方法選択部68は、ユーザ情報取得/格納方法選択ルール67aに基づいて、ユーザ情報取得方法及びユーザ情報格納方法を選択する機能をもっている。例えば、ユーザによって要求されるURLパスが「/sample/App1」である場合、ユーザ情報取得/格納方法選択部68は、ユーザ情報取得方法定義部61´で定義されているユーザ情報取得方法61aのうち、取得方法「App1_GetUser」をもつユーザ情報取得方法を選択し、かつユーザ情報格納方法定義部65で定義されているユーザ情報格納方法65aのうち、格納方法「App1_SetUser」をもつユーザ情報格納方法を選択する。
【0067】
次に、以上のように構成されたユーザ情報提供装置の動作について、図9〜図11の模式図と、図12のフローチャートとを参照しながら説明する。第2の実施形態では、第1の実施形態の処理のステップS101とS102との間に新たにステップS101−1〜S101−4の処理が追加される。それ以外の処理は第1の実施形態と同様である。従って、第1の実施形態のステップS101とS102との間の処理についてのみ説明する。
【0068】
ユーザ情報取得/格納方法選択部68は、ユーザ情報取得/格納方法選択ルール67aをユーザ情報取得/格納方法選択ルール定義部67から取得する(ステップS101−1)。
【0069】
続いて、ユーザ情報取得/格納方法選択部68は、当該取得したユーザ情報取得/格納方法選択ルールのうちの1つを選択する(ステップS101−2)。ここでは、ユーザ情報取得/格納方法選択部68は、図11に示す如き、条件種別「path」及び条件「/sample/App1」を示すユーザ情報取得/格納方法選択ルールを選択するものとする。
【0070】
次に、ユーザ情報取得/格納方法選択部68は、当該選択したユーザ情報取得/格納方法選択ルールの条件種別「path」及び条件「/sample/App1」と、アクセス検知部62により受信されたリクエストの内容とが一致しているか否かを判定する(すなわち、アクセス検知部62により受信されたリクエスト内に「/sample/App1」を要求する旨の情報が含まれているか否かを判定する)(ステップS101−3)。なお、ステップS101−3の判定の結果が否を示す場合(ステップS101−3:「不一致」)には、ステップS101−2の処理に戻る。
【0071】
ステップS101−3の判定の結果が一致する旨を示す場合(ステップS101−3:「一致」)には、ユーザ情報取得/格納方法選択部68は、当該選択したユーザ情報取得/格納方法選択ルールに基づいて、取得方法「App1_GetUser」をもつユーザ情報取得方法をユーザ情報取得方法定義部61から選択した後に、当該選択したユーザ情報取得方法を一時記憶部64に書込む。同様に、ユーザ情報取得/格納方法選択部68は、当該選択したユーザ情報取得/格納方法選択ルールに基づいて、格納方法「App1_SetUser」をもつユーザ情報格納方法をユーザ情報格納方法定義部65から選択した後に、当該選択したユーザ情報格納方法を一時記憶部64に書込む(ステップS101−4)。
【0072】
以上説明した第2の実施形態によれば、ユーザ情報取得/格納方法選択ルール定義部67及びユーザ情報取得/格納方法選択部68を備えた構成により、条件にあうユーザ情報取得方法及びユーザ情報格納方法を一時記憶部64に記憶し、当該記憶されたユーザ情報取得方法及び当該記憶されたユーザ情報格納方法のうちからユーザ情報の取得/格納のために用いるユーザ情報取得方法及びユーザ情報格納方法を取得し、ユーザ情報の取得/格納処理を実行するため、リクエストに含まれる条件に応じて、取得/格納するユーザ情報を変更できる。
【0073】
以上説明した少なくともひとつの実施形態によれば、リクエストに格納された第1のユーザ情報から第1のユーザ部分情報を取得することに加え、第1のユーザ部分情報の属性名をユーザ情報取得パラメータとして用い、Web/アプリケーションサーバ装置30内のアプリケーションユーザ情報記憶部40に記憶された第2のユーザ情報から第2のユーザ部分情報を取得する構成により、認証機能提供製品が別の認証機能提供製品に変更されるとしても、Webアプリケーションに実装される機能の改修を不要としつつ、必要なユーザ情報を認証機能提供製品及び認証機能提供製品以外のデータベースから取得できる。
【0074】
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【0075】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【0076】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
【0077】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【0078】
また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【0079】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【0080】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【0081】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0082】
1,1´…サービス提供システム、10…クライアント端末、20…認証サーバ装置、21…共通ユーザ情報記憶部、21a…第1のユーザ情報テーブル、22…認証部、23…ユーザ情報提供部、30,30´…Web/アプリケーションサーバ装置、40…アプリケーションユーザ情報記憶部、40a…第2のユーザ情報テーブル、50…サービス提供部、60,60´…ユーザ情報提供装置、61…ユーザ情報取得方法定義部、61a…ユーザ情報取得方法、62…アクセス検知部、63…ユーザ情報取得部、64…一時記憶部、64a…取得済みユーザ情報、65…ユーザ情報格納方法定義部、65a…ユーザ情報格納方法、66…ユーザ情報格納部、67…ユーザ情報取得/格納方法選択ルール定義部、67a…ユーザ情報取得/格納方法選択ルール、68…ユーザ情報取得/格納方法選択部。

【特許請求の範囲】
【請求項1】
リクエストを端末から受信すると、前記リクエストを送信したユーザの認証処理を実行し、前記認証処理の成功後、認証された前記ユーザの複数の属性名と前記複数の属性名の各々に対応する属性値とからなる第1のユーザ情報が格納された前記リクエストを送信する認証サーバ装置と、
前記送信されたリクエストに応じて、前記端末にサービス情報を提供するサービス提供手段を備えたWeb/アプリケーションサーバ装置と、
前記端末に前記サービス情報を提供するために用いられ、前記第1のユーザ情報が含むいずれかの属性名とこの属性名に対応する属性値及びこの属性名とは異なる属性名と当該異なる属性名に対応する属性値からなる第2のユーザ情報を記憶する記憶装置と
を備えたサービス提供システムのうち、前記Web/アプリケーションサーバ装置に設けられ、前記第1のユーザ情報から一部が取得されてなる第1のユーザ部分情報と、前記第2のユーザ情報から一部が取得されてなる第2のユーザ部分情報に相当する第3のユーザ情報を前記サービス提供手段に送出するユーザ情報提供装置であって、
前記第1のユーザ情報と前記第2のユーザ情報とのうちの少なくとも一方が含む属性名のうちの前記取得に用いる属性名、ユーザ情報取得先及び当該取得に用いる属性名のうちの前記第2のユーザ情報だけが含む属性名に対応する属性値を取得する際に必要となるユーザ情報取得パラメータ(但し、前記ユーザ情報取得パラメータは、前記取得に用いる属性名のうち、前記第1のユーザ情報と前記第2のユーザ情報との両者が含む属性名を表す。)を含むユーザ情報取得方法を定義したユーザ情報取得方法定義手段と、
前記取得に用いる属性名、当該取得に用いる属性名に対応し、前記属性値を格納する際の属性名を示す格納属性名、ユーザ情報格納先及び当該属性値を格納する際に必要となるユーザ情報格納パラメータ(但し、前記ユーザ情報格納パラメータは、前記ユーザ情報格納先がセッション以外のとき、前記格納属性名のうち、前記ユーザ情報取得パラメータが表す属性名に対応し、前記属性値を格納する際の属性名を示す格納属性名を表す。)を含むユーザ情報格納方法を定義したユーザ情報格納方法定義手段と、
前記ユーザ情報取得方法に基づいて、前記送信されたリクエストから前記第1のユーザ部分情報を取得する手段と、
前記ユーザ情報取得方法に基づいて、前記第1のユーザ部分情報の属性名を前記ユーザ情報取得パラメータとして用いることにより、前記記憶装置から前記第2のユーザ部分情報を取得する手段と、
前記ユーザ情報格納方法に基づいて、前記取得された第1のユーザ部分情報及び前記取得された第2のユーザ部分情報の属性名を前記格納属性名に替えた後、当該第1のユーザ部分情報及び当該第2のユーザ部分情報からなる前記第3のユーザ情報を前記ユーザ情報格納先により示される記憶領域に書込む手段と、
前記書込まれた第3のユーザ情報を前記サービス提供手段に送出する手段と
を備えたことを特徴とするユーザ情報提供装置。
【請求項2】
請求項1に記載のユーザ情報提供装置において、
前記ユーザ情報取得方法及び前記ユーザ情報格納方法をどのように選択するかを示すユーザ情報取得/格納方法選択ルールを定義したユーザ情報取得/格納方法選択ルール定義手段と、
前記ユーザ情報取得/格納方法選択ルールに基づいて、前記ユーザ情報取得方法を前記ユーザ情報取得方法定義手段から選択し、かつ前記ユーザ情報格納方法を前記ユーザ情報格納方法定義手段から選択する手段と
を更に備えたことを特徴とするユーザ情報提供装置。
【請求項3】
リクエストを端末から受信すると、前記リクエストを送信したユーザの認証処理を実行し、前記認証処理の成功後、認証された前記ユーザの複数の属性名と前記複数の属性名の各々に対応する属性値とからなる前記第1のユーザ情報が格納された前記リクエストを送信する認証サーバ装置と、
前記送信されたリクエストに応じて、前記端末にサービス情報を提供するサービス提供手段を備えたWeb/アプリケーションサーバ装置と、
前記端末に前記サービス情報を提供するために用いられ、前記第1のユーザ情報が含むいずれかの属性名とこの属性名に対応する属性値及びこの属性名とは異なる属性名と当該異なる属性名に対応する属性値からなる第2のユーザ情報を記憶する記憶装置と
を備えたサービス提供システムのうち、前記Web/アプリケーションサーバ装置に設けられ、前記第1のユーザ情報から一部が取得されてなる第1のユーザ部分情報と、前記第2のユーザ情報から一部が取得されてなる第2のユーザ部分情報に相当する第3のユーザ情報を前記サービス提供手段に送出するユーザ情報提供装置のプログラムであって、
前記ユーザ情報提供装置を、
前記第1のユーザ情報と前記第2のユーザ情報とのうちの少なくとも一方が含む属性名のうちの前記取得に用いる属性名、ユーザ情報取得先及び当該取得に用いる属性名のうちの前記第2のユーザ情報だけが含む属性名に対応する属性値を取得する際に必要となるユーザ情報取得パラメータ(但し、前記ユーザ情報取得パラメータは、前記取得に用いる属性名のうち、前記第1のユーザ情報と前記第2のユーザ情報との両者が含む属性名を表す。)を含むユーザ情報取得方法を定義したユーザ情報取得方法定義手段、
前記取得に用いる属性名、当該取得に用いる属性名に対応し、前記属性値を格納する際の属性名を示す格納属性名、ユーザ情報格納先及び当該属性値を格納する際に必要となるユーザ情報格納パラメータ(但し、前記ユーザ情報格納パラメータは、前記ユーザ情報格納先がセッション以外のとき、前記格納属性名のうち、前記ユーザ情報取得パラメータが表す属性名に対応し、前記属性値を格納する際の属性名を示す格納属性名を表す。)を含むユーザ情報格納方法を定義したユーザ情報格納方法定義手段、
前記ユーザ情報取得方法に基づいて、前記送信されたリクエストから前記第1のユーザ部分情報を取得する手段、
前記ユーザ情報取得方法に基づいて、前記第1のユーザ部分情報の属性名を前記ユーザ情報取得パラメータとして用いることにより、前記記憶装置から前記第2のユーザ部分情報を取得する手段、
前記ユーザ情報格納方法に基づいて、前記取得された第1のユーザ部分情報及び前記取得された第2のユーザ部分情報の属性名を前記格納属性名に替えた後、当該第1のユーザ部分情報及び当該第2のユーザ部分情報からなる前記第3のユーザ情報を前記ユーザ情報格納先により示される記憶領域に書込む手段、
前記書込まれた第3のユーザ情報を前記サービス提供手段に送出する手段、
として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2013−77176(P2013−77176A)
【公開日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願番号】特願2011−216733(P2011−216733)
【出願日】平成23年9月30日(2011.9.30)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【Fターム(参考)】