説明

サービスシステム、サーバ装置、認証制御プログラム、接続制御装置、及び接続制御プログラム

【課題】 複数のサーバ装置を備えるサービスシステムで、ユーザの重複ログインに関する制御を容易に実現する。
【解決手段】 本発明は、クライアントにサービスを提供するサービス提供手段を備える複数のサーバ装置と、認証システムと、ログイン要求に関する制御を行う接続制御装置とを備えるサービスシステムに関する。そして、サーバ装置は、サービス提供手段からの依頼に応じて認証システムへ認証を依頼すると共に、接続制御装置に他のサーバ装置のログイン状況を考慮した総合ログイン判定を依頼する認証制御手段を備えることを特徴とする。また、接続制御装置は、ユーザごとのサーバ装置の利用状況を表す利用状況情報を管理する手段と、利用状況情報を利用して総合ログイン判定を行う手段とを有することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、サービスシステム、サーバ装置、認証制御プログラム、接続制御装置、及び接続制御プログラムに関し、例えば、認証によりアクセスを許可するWebサーバが複数配置されたシステムに適用し得る。
【背景技術】
【0002】
従来、HTML等で記述された文書や画像、プログラム等のコンテンツのデータをクライアント端末に供給するWebサーバでは、クライアント端末からアクセスを受ける際に認証を要求する場合がある。
【0003】
そして、複数のWebサーバが配置された環境(例えば、オフィス等で複数の社内システムが配置されている場合等)では、Webサーバごとに異なる認証装置が配置される場合がある。そして、上述のような複数のWebサーバ及び認証装置を備えるシステムでは、一人のユーザが、クライアントを利用して、2つ以上のWebサーバにアクセス(以下、「重複ログイン」とも呼ぶ)することを制限する場合がある。このような重複ログインの制限は、例えば、Webサーバ等への負荷軽減や、同じデータベース上のデータにアクセスした場合のデータの不整合を回避するため等の目的で行われる。
【0004】
従来、このような重複ログインを回避するためのシステムとしては、例えば、特許文献1の記載技術がある。特許文献1の記載技術では、クライアント端末に対して認証処理及び処理サービスの提供を行うサーバ装置が複数配置されたシステムについて記載されている。特許文献1の記載技術では、第1のサーバ装置と第2のサーバ装置が連携して動作している。そして、第1のサーバ装置で、クライアント端末からログインの要求があると、第2のサーバ装置へ問い合わせて、当該ログイン要求が、通常又は二重ログイン要求のいずれかであるかを判定する。そして、当該ログイン要求が二重ログイン要求であると判定された場合には、第1のサーバ装置は、既にログイン中の第2のサーバ装置に対してセッション切断を要求する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−268671号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1の記載技術では、各サーバ装置は、他のサーバ装置からの問合せに応答する処理に対応させる必要がある。各サーバ装置間で上述のような連携を実現するには、認証処理において、保持するユーザ情報の統一化や、ユーザ情報を保持するデータベースの統合等が必要となる。特に、既に構築されたシステムについて、上述のようなサーバ装置間の連携を実現する際には、失敗するとユーザ情報の損失が発生してしまう等のリスクもあり、そのようなリスクを回避しようとすると、ほぼシステムの全面更改に近い作業となってしまう場合もある。
【0007】
その他にも、特許文献1の記載技術では、サーバ装置間で連携のために保持するユーザ情報の冗長化によるデータ量の増大、各サーバ装置の処理性能の向上、クライアントからのリクエストを処理するアプリケーションとユーザ情報を格納するデータベース間のインタフェースの変更など、変更が発生する箇所がシステム全体に波及することが想定される。
【0008】
上述のような問題点に鑑みて、複数のサーバ装置を備えるサービスシステムで、ユーザの重複ログインに関する制御を容易に実現することができるサービスシステム、サーバ装置、認証制御プログラム、接続制御装置、及び接続制御プログラムが望まれている。
【課題を解決するための手段】
【0009】
第1の本発明のサービスシステムは、(1)クライアントにサービスを提供するサービス提供手段を備える複数のサーバ装置と、上記クライアントから上記サーバ装置への接続要求に関する認証処理を行う認証システムと、上記クライアントから上記サーバ装置へのログイン要求に関する制御を行う接続制御装置とを備えるサービスシステムであって、(2)それぞれの上記サーバ装置は、(2−1)上記サービス提供手段が行うサービスの認証制御に関する処理を行う認証制御手段を備え、(2−2)上記サービス提供手段は、(2−2−1)上記クライアントから、ログイン要求を認証情報と共に受付けるログイン受付部と、(2−2−2)上記ログイン受付部が受付けたログイン要求に関するログイン判定処理を、上記認証制御手段に依頼してログイン判定結果を受信するログイン判定依頼部と(2−2−3)上記ログイン判定依頼部が受信したログイン判定結果に従って、上記クライアントからのログイン要求の処理を行うログイン処理部とを有し、(2−3)上記認証制御手段は、(2−3−1)上記サービス提供手段がログイン要求と共に受付けた認証情報に基づく認証を、上記認証システムに依頼して、その認証結果を受信する認証依頼部と、(2−3−2)上記サービス提供手段が受付けたログイン要求に係るユーザによる、各サーバ装置の利用状況を考慮して、上記サービス提供手段が受付けたログイン要求に関する判定を行う総合ログイン判定を、上記接続制御装置に依頼する総合ログイン判定依頼部と、(2−3−3)上記認証依頼部が受信した認証結果、及び又は、上記総合ログイン判定依頼部が受信した総合ログイン判定結果を利用して得たログイン判定結果を、上記サービス提供手段に回答するログイン判定回答手段とを有し、(3)上記接続制御装置は、(3−1)ユーザごとの上記サーバ装置の利用状況を表わすサーバ利用状況情報を管理するサーバ利用状況管理手段と、(3−2)上記サーバ装置から、総合ログイン判定処理の依頼を受付ける総合ログイン判定受付手段と、(3−3)上記サーバ利用状況管理手段が管理するサーバ利用状況管理情報を利用して、総合ログイン判定の依頼元のサーバ装置が受付けたログイン要求に係るユーザによる各サーバ装置の利用状況を確認し、その確認結果を考慮して、総合ログイン判定の依頼元のサーバ装置が受付けたログイン要求に関する判定を行い、その判定結果を、総合ログイン判定の依頼元のサーバ装置へ回答する総合ログイン判定手段とを有することを特徴とする。
【0010】
第2の本発明は、クライアントにサービスを提供するサービス提供手段を備えるサーバ装置において、(1)上記サービス提供手段が行うサービスの認証制御に関する処理を行う認証制御手段を備え、(2)上記サービス提供手段は、(2−1)上記クライアントから、ログイン要求を認証情報と共に受付けるログイン受付部と、(2−2)上記ログイン受付部が受付けたログイン要求に関するログイン判定処理を、上記認証制御手段に依頼してログイン判定結果を受信するログイン判定依頼部と(2−3)上記ログイン判定依頼部が受信したログイン判定結果に従って、上記クライアントからのログイン要求の処理を行うログイン処理部とを有し、(3)上記認証制御手段は、(3−1)上記サービス提供手段がログイン要求と共に受付けた認証情報に基づく認証を、上記認証システムに依頼して、その認証結果を受信する認証依頼部と、(3−2)上記サービス提供手段が受付けたログイン要求に係るユーザによる、各サーバ装置の利用状況を考慮して、上記サービス提供手段が受付けたログイン要求に関する判定を行う総合ログイン判定を、上記接続制御装置に依頼する総合ログイン判定依頼部と、(3−3)上記認証依頼部が受信した認証結果、及び又は、上記総合ログイン判定依頼部が受信した総合ログイン判定結果を利用して得たログイン判定結果を、上記サービス提供手段に回答するログイン判定回答手段とを有することを特徴とする。
【0011】
第3の本発明の認証制御プログラムは、(1)クライアントにサービスを提供するサービス提供手段を備えるサーバ装置に搭載されたコンピュータを、(2)上記サービス提供手段が上記クライアントからログイン要求と共に受付けた認証情報に基づく認証を、上記認証システムに依頼して、その認証結果を受信する認証依頼部と、(3)上記サービス提供手段が受付けたログイン要求に係るユーザによる、各サーバ装置の利用状況を考慮して、上記サービス提供手段が受付けたログイン要求に関する判定を行う総合ログイン判定を、上記接続制御装置に依頼する総合ログイン判定依頼部と、(4)上記認証依頼部が受信した認証結果、及び又は、上記総合ログイン判定依頼部が受信した総合ログイン判定結果を利用して得たログイン判定結果を、上記サービス提供手段に回答するログイン判定回答手段として機能させることを特徴とする。
【0012】
第4の発明の接続制御装置は、(1)クライアントにサービスを提供するサービス提供手段を備える複数のサーバ装置と、上記クライアントから上記サーバ装置への接続要求に関する認証処理を行う認証システムとを有するサービスシステムを構成する、上記クライアントから上記サーバ装置へのログイン要求に関する制御を行う接続制御装置であって、(2)ユーザごとの上記サーバ装置の利用状況を表わすサーバ利用状況情報を管理するサーバ利用状況管理手段と、(3)ユーザごとの各サーバ装置の利用状況を考慮してログイン要求に関する判定を行う総合ログイン判定の依頼を、上記サーバ装置から受付ける総合ログイン判定受付手段と、(4)上記サーバ利用状況管理手段が管理するサーバ利用状況管理情報を利用して、総合ログイン判定の依頼元のサーバ装置が受付けたログイン要求に係るユーザによる各サーバ装置の利用状況を確認し、その確認結果を考慮して、総合ログイン判定の依頼元のサーバ装置が受付けたログイン要求に関する判定を行い、その判定結果を、総合ログイン判定の依頼元のサーバ装置へ回答する総合ログイン判定手段とを有することを特徴とする。
【0013】
第5の本発明の接続制御プログラムは、(1)クライアントにサービスを提供するサービス提供手段を備える複数のサーバ装置と、上記クライアントから上記サーバ装置への接続要求に関する認証処理を行う認証システムとを有するサービスシステムを構成する、上記クライアントから上記サーバ装置へのログイン要求に関する制御を行う接続制御装置に搭載されたコンピュータを、(2)ユーザごとの上記サーバ装置の利用状況を表わすサーバ利用状況情報を管理するサーバ利用状況管理手段と、(3)ユーザごとの各サーバ装置の利用状況を考慮してログイン要求に関する判定を行う総合ログイン判定の依頼を、上記サーバ装置から受付ける総合ログイン判定受付手段と、(4)上記サーバ利用状況管理手段が管理するサーバ利用状況管理情報を利用して、総合ログイン判定の依頼元のサーバ装置が受付けたログイン要求に係るユーザによる各サーバ装置の利用状況を確認し、その確認結果を考慮して、総合ログイン判定の依頼元のサーバ装置が受付けたログイン要求に関する判定を行い、その判定結果を、総合ログイン判定の依頼元のサーバ装置へ回答する総合ログイン判定手段として機能させることを特徴とする。
【発明の効果】
【0014】
本発明によれば、複数のサーバ装置を備えるサービスシステムで、ユーザの重複ログインに関する制御を容易に実現することができる。
【図面の簡単な説明】
【0015】
【図1】第1の実施形態に係るWebサービスシステムの全体構成について示したブロック図である。
【図2】第1の実施形態に係る認証連携プラグインの機能的構成について示したブロック図である。
【図3】第1の実施形態に係る認証連携装置の機能的構成について示したブロック図である。
【図4】第1の実施形態に係る認証連携装置で管理される認証連携管理情報の例について示した説明図である。
【図5】第1の実施形態のWebサービスシステムの動作について示したシーケンス図(その1)である。
【図6】第1の実施形態のWebサービスシステムの動作について示したシーケンス図(その2)である。
【図7】第1の実施形態に係る認証連携装置で管理される認証連携管理情報の遷移の例について示した説明図である。
【図8】第1の実施形態のWebサービスシステムの動作について示したシーケンス図である。
【図9】第2の実施形態に係る認証連携装置で管理される認証連携管理情報の遷移の例について示した説明図である。
【図10】第3の実施形態に係るWebサービスシステムの全体構成について示したブロック図である。
【図11】第3の実施形態に係る認証連携装置で管理される認証連携管理情報の例について示した説明図である。
【発明を実施するための形態】
【0016】
(A)第1の実施形態
以下、本発明によるサービスシステム、サーバ装置、認証制御プログラム、接続制御装置、及び接続制御プログラムの第1の実施形態を、図面を参照しながら詳述する。なお、この実施形態のサービスシステムは、Webサービスシステムである。また、この実施形態の接続制御装置は、認証連携管理装置である。さらにまた、この実施形態のサーバ装置は、Webサーバである。
【0017】
(A−1)第1の実施形態の構成
図1は、第1の実施形態のWebサービスシステム1の全体構成を示すブロック図である。
【0018】
Webサービスシステム1は、2台のWebサーバ20(20−1、20−2)、認証連携管理装置40、及び2台の認証装置50(50−1、50−2)を有しており、これらの装置を用いてクライアント端末10にWebサービスを提供する。
【0019】
なお、図1では、説明を簡易にするためクライアント端末10は一台のみを図示しているが、クライアント端末10を配置する数は限定されないものである。同様に、Webサーバ20及び認証装置50の数も限定されないものである。
【0020】
Webサーバ20−1、20−2は、それぞれ、クライアント端末10の要求に応じて、Webサービス(例えば、HTML等で記述された文書や画像、プログラム等のコンテンツのデータ供給)を行うサーバである。
【0021】
認証装置50−1、50−2は、それぞれ、Webサーバ20−1、20−2に対応する認証装置である。すなわち、Webサーバ20−1は、クライアント端末10(ユーザ)からのログインを受ける際に、認証装置50−1へ認証を依頼し認証結果を受ける。また、Webサーバ20−2は、クライアント端末10(ユーザ)からのログインを受ける際に、認証装置50−2へ認証を依頼し認証結果を受ける。
【0022】
Webサーバ20は、例えば、サーバ装置用のコンピュータ(複数台を用いてもよく、例えば、PCやワークステーション等を適用可能)に、プログラムをインストールすることにより構築するようにしても良い。その場合でも、機能的には、各Webサーバ20の構成については図1のように示すことができる。
【0023】
Webサーバ20(20−1、20−2)は、それぞれサービス処理部21(21−1、21−2)と、認証連携プラグイン30(30−1、30−2)を有している。
【0024】
サービス処理部21は、主として、クライアント端末10からの信号を受付けて、クライアント端末10からの要求に応じたデータ(コンテンツ)を提供する処理等を行う。サービス処理部21については、例えば、既存のWebサーバ用のプラットフォーム(ソフトウェア)を適用することができるので詳しい説明は省略する。サービス処理部21としては、例えば、iPlanet Application Server(登録商標)等のWebサーバ用のプラットフォームを適用することができる。
【0025】
そして、サービス処理部21(21−1、21−2)は、それぞれ認証IF部22(22−1、22−2)を備えている。認証IF部22は、サービス処理部21において、ログイン認証を行う認証装置へのインタフェースとして機能する部分である。既存のWebサーバ用のプラットフォームでは、ユーザ(クライアント端末)からのログイン要求を認証情報(ユーザID、パスワード)と共に受付けると、その認証情報を認証装置に引き渡して認証結果を得て、認証成功の場合当該ユーザ(クライアント端末)のアクセスを許可する。認証IF部22は、サービス処理部21において、例えば、認証装置への認証情報の引渡しや、認証結果の受け取り等を行う機能を担っている。
【0026】
そして、既存のWebサーバ用のプラットフォームでは、通常、認証装置へアクセスするための識別情報を設定するためのフィールド(リンク先を設定するためのパラメータ)が設けられており、その識別情報としては、外部リソース(外部装置)を指定(例えば、IPアドレスやホスト名等により指定)したり、内部リソース(自装置内のリソース)を指定(例えば、対応するプログラムファイル等を指定)することができるようになっている。そして、この実施形態の認証IF部22において、接続する認証装置としては、内部リソースである認証連携プラグイン30が設定されているものとする。すなわち、認証IF部22−1、22−2は、それぞれ、認証連携プラグイン30−1、30−2を介して認証装置50−1、50−2と接続する構成となっている。
【0027】
次に、認証連携プラグイン30(30−1、30−2)について説明する。
【0028】
図2は、認証連携プラグイン30(30−1、30−2)の内部構成について示した説明図である。
【0029】
認証連携プラグイン30は、Webサーバ20上で、サービス処理部21と連携して動作するプログラム(実施形態の認証制御プログラム)であり、認証中継処理部31、IF部32、IF部33、及びIF部34を有している。なお、認証連携プラグイン30を、Webサーバ20とは別の装置(コンピュータ)を用いて構築するようにしても良いがこの実施形態では、Webサーバ20上で動作するプログラムであるものとして説明する。
【0030】
IF部32は、サービス処理部21と通信するためのインタフェースである。また、IF部33は、認証装置50と通信するためのインタフェースである。さらに、IF部34は、認証連携管理装置40と通信するためのインタフェースである。
【0031】
認証中継処理部31は、サービス処理部21と、認証装置50との間を中継する処理を行う。また、認証中継処理部31は、サービス処理部21と、認証装置50との間の中継処理に際して、認証連携管理装置40への情報入力や問合せの処理等も行う。すなわち、サービス処理部21から見ると、認証連携プラグイン30(認証中継処理部31)が間に介在していても、直接認証装置50と通信する場合と同様の処理を行えばよいため、サービス処理部21に既存のプラットフォームを利用していた場合でも、改変を殆ど加えずに、認証連携管理装置40との連携を実現することができる。
【0032】
認証装置50(50−1、50−2)としては、既存のWebサーバと連携可能な認証装置(例えば、LDAP(Lightweight Directory Access Protocol)認証等の方式を用いた認証装置)を適用することができるため、詳しい説明を省略する。
【0033】
認証連携管理装置40は、Webサーバ20と認証装置50との間を流れる情報等を、認証連携プラグイン30を介して、ユーザによる複数のWebサーバ20への重複ログインに関する制御を行うものである。認証連携管理装置40は、認証連携処理部41、IF部42、及びデータ記憶部43を有している。認証連携管理装置40は、例えば、プロセッサ等を備える情報処理装置(複数台を用いてもよく、例えば、PCやワークステーション等を適用可能)に、実施形態の接続制御プログラム等をインストールすることにより構築するようにしても良い。その場合でも、認証連携管理装置40の機能的構成は、図3のように示すことができる。
【0034】
IF部42は、各Webサーバ20の認証連携プラグイン30と通信するためのインタフェースである。
【0035】
認証連携処理部41は、IF部42を介して、各Webサーバ20の認証連携プラグイン30と通信し、各Webサーバ20(サービス処理部21)と各認証装置50との間を流れる情報の収集を行い、収集した情報に基づいて、各認証連携プラグイン30がサービス処理部21へ返答する認証結果を制御する処理等を行う。
【0036】
データ記憶部43は、認証連携処理部41が行う処理に必要な情報を格納する記憶手段であり、認証連携管理情報431が記憶されている。
【0037】
認証連携管理情報431は、ユーザごとの情報を管理するための情報であり、テーブル形式で表すと、例えば、図4のように示すことができる。認証連携処理部41は、各Webサーバ20の認証連携プラグイン30から、各ユーザに関する情報を収集して、認証連携管理情報431で管理する。
【0038】
図4では、1行で、1人のユーザに関する情報を登録している。認証連携管理情報431では、ユーザごとに、ユーザ情報とログイン状況情報とが対応付けて管理されている。
【0039】
ユーザ情報は、当該ユーザに関する情報であり、図4では例として、氏名、住所、電話番号の項目を設定している。なお、ユーザ情報として適用する情報の項目の数や組合せは限定されないものである。例えば、その他にも、電子メールアドレス等の項目を設けるようにしても良い。また、氏名も漢字表記とローマ字表記で別項目として管理するようにしても良い。さらに、電話番号についても、オフィスや携帯電話等を別項目として管理するようにしても良い。
【0040】
ログイン状況情報は、当該ユーザのWebサーバ20(サーバ装置)ごとのログイン状況について示している。ログイン状況情報には、図4に示すように、Webサーバ20−1へのログイン状況を示す「WebサーバA」の項目と、Webサーバ20−2へのログイン状況を示す「WebサーバB」の項目が含まれている。ログイン状況情報では、当該ユーザがログインしているWebサーバ20に対応する項目には、ログインしていることを示す情報として、そのログイン(認証時)に用いたユーザIDが入力される。一方、当該ユーザがログインしていない(ログオフしている)Webサーバ20に対応する項目には、ログインしていないこと(ログオフしていること)を示す「−」が入力される。
【0041】
したがって、図4に示す内容例では、「氏名:山田太郎、住所:東京都千代田区X−X−X、電話番号:0123456789」のユーザは、WebサーバA(Webサーバ20−1)にはユーザID「yamada-t」を用いてログインしているが、WebサーバB(Webサーバ20−2)にはログインしていない状態であることを示している。認証連携管理情報431にログイン状況情報に入力するユーザID(ログインID)は、例えば、認証連携プラグイン30で、サービス処理部21から認証要求を受けた時に、その認証要求に含まれる情報から抽出するようにしても良い。認証連携プラグイン30でユーザIDを保持する方法は、適用される認証プロトコルに応じて可能な方法を適用することができる。
【0042】
認証連携管理情報431で管理されるユーザ情報は、認証連携プラグイン30において認証装置50から通知される認証結果に付随する情報に基づいて登録される。例えば、LDAP認証を利用した認証装置では、認証の依頼元のサーバ装置に対して、認証結果と共に、認証したユーザ(ユーザID)に対応するユーザ情報を依頼元のサーバ装置に返答する設定を行うことが可能である。言い換えると、各認証装置50は、ユーザIDに対応するユーザ情報が登録されており、認証の依頼元のサーバ装置に対して、認証結果と共にユーザ情報を通知するように設定されているものとする。そして、この実施形態では、各認証装置50に登録されているユーザ情報の項目には、少なくとも、認証連携管理情報431で管理されるユーザ情報の項目(氏名、住所、電話番号)が含まれているものとする。
【0043】
すなわち、認証連携プラグイン30は、認証装置50からログイン時に通知される情報(ユーザID、認証結果、及びユーザ情報を含む情報であり、以下、「ログイン通知情報」と呼ぶ)を受信すると、その認証結果及びユーザ情報を、認証連携管理装置40にも通知するように構成されている。そして、認証連携管理情報431は、認証連携プラグイン30から通知された情報に基づいて、認証連携管理情報431の内容を更新する。
【0044】
認証連携処理部41は、認証連携プラグイン30から、ログイン通知情報が通知されると、通知内容と一致するユーザ情報の有無を認証連携管理情報431から検索する。そして、該当するユーザ情報を検出した場合には、当該ユーザに関するログイン状況情報を参照し、今回のログインに関する判定を行う。
【0045】
この実施形態では、認証連携処理部41が、ログイン通知情報に含まれるユーザ情報と、認証連携管理情報431のユーザ情報とを照合(マッチング)する際に、全ての項目(氏名、住所、電話番号)が一致した場合にのみ同一ユーザとして検出するものとして説明する。しかし、認証連携処理部41が、ログイン通知情報に含まれるユーザ情報と、認証連携管理情報431のユーザ情報とを照合(マッチング)する際に、ユーザ情報の一部の項目についてのみ一致する場合(例えば、氏名と住所が一致する場合)にも同一ユーザの情報として検出するように構成しても良い。その他にも、認証連携処理部41は、所定の組合せの項目が一致する場合や、所定数以上の項目で一致する場合等、ユーザ情報をマッチングする方式については種々の方式を適用するようにしても良い。
【0046】
この実施形態では、認証連携処理部41は、今回のログインが重複ログイン(二重ログイン)であると判定した場合、判定結果として「ログインNG」を認証連携プラグイン30に返答し、重複ログインでないと判定した場合には「ログインOK」を認証連携プラグイン30に返答するものとする。認証連携管理情報431が、今回のログインが重複ログインであるか否かを判定する方法としては、例えば、当該ユーザについて、ログイン状況情報で既にいずれかのWebサーバ20にログインしていることになっている状態で、ほかのWebサーバ20へログインしようとしている場合に、重複ログインと判定するようにしても良い。なお、認証連携処理部41が認証連携プラグイン30に返答する認証結果の形式については限定されないものであり、例えば、当該結果を表わす文字列(たとえば「OK」、「NG」等)の形式としても良いし、例えば、「1、2、…」等の値で表す形式としても良い。
【0047】
また、認証連携管理情報431は、認証連携プラグイン30から、ユーザログイン時の認証結果及びユーザ情報が通知され、通知内容と一致するユーザ情報が検出できない場合は、当該ユーザに関する情報は認証連携管理情報431に登録されていないので、新規に当該ユーザの情報(行)を認証連携管理情報431に追加する処理を行う。
【0048】
また、認証連携処理部41は、いずれかのWebサーバ20で、いずれかのユーザのログオフが発生した場合には、認証連携プラグイン30からの通知等に基づいて、認証連携管理情報431の内容を更新する。Webサーバ20(サービス処理部21)でログオフが発生する場合とは、例えば、ユーザ(クライアント端末10)からの要求に基づいてWebサーバ20でログオフする場合や、タイムアウトやエラー発生等で強制的にログオフとなる場合等がある。認証連携プラグイン30が、サービス処理部21でのユーザのログオフの発生を検知する方法については限定されないものであるが、例えば、サービス処理部21の動作や入出力されるパケットを監視してログオフの発生を検知するようにしても良いし、ログオフ発生時に、Webサーバ20から認証装置50へ何らかの通知がある場合には、その内容に基づいて把握するようにしても良い。そして、認証連携プラグイン30は、サービス処理部21でのユーザのログオフを検知すると、そのログオフに係るユーザに関する情報(以下、「ログオフ通知情報」と呼ぶ)を保持して、認証連携管理装置40に通知する。
【0049】
認証連携プラグイン30が保持するログオフ通知情報の内容としては、認証連携管理装置40側で、いずれのユーザがログオフしたのかを把握することが可能な情報が含まれる必要がある。この実施形態では、上述の通り、認証連携管理情報431のログイン状況情報で、ログイン状態のWebサーバ20−1に対応する項目には、ユーザIDを入力している。したがって、ログオフ通知情報には、少なくともユーザIDが含まれていれば、認証連携管理装置40側で、いずれのユーザでログオフが発生したのかを把握することができる。そして、認証連携管理装置40は、いずれかの認証連携プラグイン30から、ログオフ通知情報が通知されると、ログオフ通知情報の内容に基づいて、認証連携管理情報431の内容を更新(該当する項目の情報をユーザIDからログオフを示す「−」に更新)する。
【0050】
例えば、認証連携管理情報431の内容が図4に示す状態で、認証連携プラグイン30−1から、「ユーザID:yamada-t」という情報を含むログオフ通知情報が通知された場合を想定する。この場合、認証連携管理情報431は、ログイン状況情報のうち、ログオフ通知情報の送信元に対応する認証装置A(Webサーバ20−1)の項目(列)で、ログオフ通知情報のユーザID(yamada-t)と一致する情報(行)を検索し、該当する情報(行)を検出することになる。そして、認証連携管理情報431は、このユーザID(yamada-t)を、ログオフしていることを示す「−」に更新する。この場合、結果として「氏名:山田太郎、住所:東京都千代田区X−X−X、電話番号:0123456789」のユーザ情報に対応するログイン状況情報では、全てのWebサーバ20に対応する項目(WebサーバA及びWebサーバB)についてログオフしていることを示す「−」が設定されることになる。このような場合、認証連携管理装置40は、認証連携管理情報431で、当該情報(行)について削除するようにしても良いし、放置してその後同一ユーザがログインしてきたときに利用するようにしても良い。
【0051】
(A−2)第1の実施形態の動作
次に、以上のような構成を有する第1の実施形態のWebサービスシステム1の動作を図5、図6のフローチャートを用いて説明する。
【0052】
また、図7は、Webサービスシステム1が図5、図6のフローチャートに従って動作した場合の、認証連携管理情報431の遷移について示した説明図である。
【0053】
まず、ここでは、認証連携管理装置40に記憶されている認証連携管理情報431の初期状態は、図7(a)に示すように、一件も情報が登録されていない状態であるものとする。
【0054】
そして、まず最初に、ユーザによりクライアント端末10が操作(例えば、Webブラウザの起動、及び、Webサーバ20−1にアクセスするための所定のURLの入力)され、クライアント端末10からWebサーバ20−1へログイン要求が送信されたものとする(S101)。また、Webサーバ20−1へのアクセスにあたって、ユーザによりクライアント端末10に、Webサーバ20−1にログインするための認証情報として、ユーザID(yamada-t)及びパスワードが入力されたものとする(既にブラウザに認証情報が設定されている場合はユーザによる入力を省略することができる)。そして、クライアント端末10からWebサーバ20−1へのログイン要求と共に、そのログインに必要な認証情報(暗号化等の加工が施された状態としても良い)も送信されたものとする。
【0055】
そして、Webサーバ20−1のサービス処理部21−1に、クライアント端末10からのログイン要求と共に認証情報(ユーザID及びパスワード)が通知されると、Webサーバ20−1は、認証連携プラグイン30−1へ、その認証情報に基づく認証要求を通知する(S102)。
【0056】
そして、サービス処理部21−1から認証要求の通知を受けた認証連携プラグイン30−1は、その認証要求を、そのまま、認証装置50−1に通知(転送)する(S103)。
【0057】
そして、Webサーバ20−1(認証連携プラグイン30−1)から認証要求の通知を受けると、認証装置50−1は、その認証要求に係る認証情報(ユーザID、及び、パスワード)と、自装置に設定されているデータとを照合して認証を行い、その認証結果に、当該認証に係るユーザのユーザ情報(ユーザID「yamada-t」に対応するユーザ情報)を付して、Webサーバ20−1(認証連携プラグイン30−1)に送信する(S104)。なお、ここでは、認証装置50−1による認証結果は、認証OKという結果であったものとする。また、認証装置50−1から認証連携プラグイン30−1へ、認証結果と共に通知されるユーザ情報は、「氏名:山田太郎、住所:東京都千代田区X−X−X、電話番号:0123456789」という内容であったものとする。
【0058】
そして、認証装置50−1からの認証結果(ユーザ情報が付されている)を受信すると、認証連携プラグイン30−1は、クライアント端末10から受信した認証情報、及び、認証装置50−1から受信したユーザ情報を利用してログイン通知情報を生成し、ログイン判定要求と共に、認証連携管理装置40に送信する(S105)。この場合、認証連携プラグイン30−1から認証連携管理装置40へ通知されるログイン通知情報には、「氏名:山田太郎、住所:東京都千代田区X−X−X、電話番号:0123456789」というユーザ情報と、「yamada-t」というユーザIDの情報が含まれることになる。
【0059】
なお、認証装置50の認証結果が、認証NGだった場合には、認証連携プラグイン30は、その認証結果を破棄するようにしても良い。すなわち、認証NGだった場合には、認証連携プラグイン30は、認証連携管理装置40へのログイン判定要求は送信せずに、サービス処理部21へ認証NGの認証結果を通知するようにしても良い。
【0060】
そして、ログイン判定要求(ログイン通知情報が付されている)を受信すると、認証連携管理装置40(認証連携処理部41)は、ログイン通知情報の内容と、認証連携管理情報431の内容とを利用して、そのログイン判定要求に対して判定処理を行う(S106)。認証連携処理部41は、認証連携管理情報431から、ログイン通知情報に含まれていた「氏名:山田太郎、住所:東京都千代田区X−X−X、電話番号:0123456789」というユーザ情報に該当する情報を検索するが、この時点で、認証連携管理情報431には、上述の通り1件も情報が登録されていないので検出に失敗することになる。したがって、この場合、ログイン判定要求に係るログインは重複ログインでないと判定することができるため、認証連携処理部41は、認証連携プラグイン30−1から通知されたログイン判定要求に対して、ログインOKという判定をすることになる。
【0061】
そして、認証連携管理装置40(認証連携処理部41)は、認証連携プラグイン30−1にログイン判定要求に対する判定結果を通知する(S107)。認証連携処理部41による認証結果は「ログインOK」であり、認証連携プラグイン30−1には、認証結果として、「ログインOK」の認証結果が返答されるものとする。
【0062】
そして、認証連携管理装置40から、ログイン判定要求に対する判定結果を受信すると、認証連携プラグイン30−1は、受信したログイン判定結果に基づいて、「ログインOK」であることを示す「認証OK」の認証結果を、サービス処理部21−1へ通知する(S108)。
【0063】
そして、認証連携プラグイン30−1から「認証OK」の認証結果を受信すると、サービス処理部21−1は、クライアント端末10へログイン結果として「ログインOK」を通知する(S109)。これ以降、Webサーバ20−1は、クライアント端末10に対してWebサービスを開始することになる。
【0064】
一方、認証連携管理装置40(認証連携処理部41)は、ログイン判定要求に対してログインOKの判定処理を行うと、続いて、ログインに伴う認証連携管理情報431の更新処理を行う。この場合認証連携管理装置40(認証連携処理部41)は、新規に当該ユーザの情報(行)を認証連携管理情報431に追加し、ログイン状況情報のWebサーバA(Webサーバ20−1)にログイン通知情報に含まれていたユーザID(yamada-t)を入力し、ユーザ情報に、ログイン通知情報に含まれていたユーザ情報(「氏名:山田太郎、住所:東京都千代田区X−X−X、電話番号:0123456789」)を入力する。その結果、認証連携管理情報431の内容は、図7(b)のようになる。
【0065】
そして、続いて、Webサービスシステム1において、図6のシーケンス図の処理が開始されたものとする。
【0066】
まず、上述と同一のユーザにより、クライアント端末10が操作(別のクライアント端末から操作するようにしても良い)され、今度は、クライアント端末10からWebサーバ20−2へログイン要求が送信されたものとする(S201)。また、Webサーバ20−2へのアクセスにあたって、ユーザによりクライアント端末10に、Webサーバ20−2にログインするための認証情報として、ユーザID(yamada-t)及びパスワードが入力されたものとする。そして、クライアント端末10からWebサーバ20−2へのログイン要求と共に、そのログインに必要な認証情報(暗号化等の加工が施された状態としても良い)も送信されたものとする。
【0067】
そして、Webサーバ20−2のサービス処理部21−2に、クライアント端末10からのログイン要求と共に認証情報(ユーザID及びパスワード)が通知されると、Webサーバ20−2は、認証連携プラグイン30−2へ、その認証情報に基づく認証要求を通知する(S202)。
【0068】
そして、サービス処理部21−2から認証要求の通知を受けた認証連携プラグイン30−2は、その認証要求を、そのまま、認証装置50−2に通知(転送)する(S203)。
【0069】
そして、Webサーバ20−2(認証連携プラグイン30−2)から認証要求の通知を受けると、認証装置50−2は、その認証要求に係る認証情報(ユーザID、及び、パスワード)と、自装置に設定されているデータとを照合して認証を行い、その認証結果に、当該認証に係るユーザのユーザ情報(ユーザID「yamada-t」に対応するユーザ情報)を付して、Webサーバ20−2(認証連携プラグイン30−2)に送信する(S204)。なお、ここでは、認証装置50−2による認証結果は、「認証OK」という結果であったものとする。また、認証装置50−2から認証連携プラグイン30−2へ、認証結果と共に通知されるユーザ情報は、「氏名:山田太郎、住所:東京都千代田区X−X−X、電話番号:0123456789」という内容であったものとする。
【0070】
そして、認証装置50−2からの認証結果(ユーザ情報が付されている)を受信すると、認証連携プラグイン30−2は、クライアント端末10から受信した認証情報、及び、認証装置50−2から受信したユーザ情報を利用してログイン通知情報を生成し、ログイン判定要求と共に、認証連携管理装置40に送信する(S205)。この場合、認証連携プラグイン30−2から認証連携管理装置40へ通知されるログイン通知情報には、「氏名:山田太郎、住所:東京都千代田区X−X−X、電話番号:0123456789」というユーザ情報と、「yamada-t」というユーザIDの情報が含まれることになる。
【0071】
そして、ログイン判定要求(ログイン通知情報が付されている)を受信すると、認証連携管理装置40(認証連携処理部41)は、ログイン通知情報の内容と、認証連携管理情報431の内容とを利用して、そのログイン判定要求に対して判定処理を行う(S206)。認証連携処理部41は、認証連携管理情報431から、ログイン通知情報に含まれていた「氏名:山田太郎、住所:東京都千代田区X−X−X、電話番号:0123456789」というユーザ情報に該当する情報を検索する。この時点で、認証連携管理情報431の内容は、図7(b)の内容となっており、認証連携処理部41は該当するユーザの情報を検出することになる。そして、認証連携処理部41は、検出した情報うち、ログイン状況情報の項目を参照し、当該ユーザの現在のログイン状況を把握する。そして、認証連携処理部41は、当該ユーザは、すでにWebサーバA(Webサーバ20−1)にログイン中であることを把握する(WebサーバAの項目にユーザIDが入力されているため)。したがって、この状態で、当該ユーザに対して、WebサーバB(Webサーバ20−2)に対するログインを許可すれば重複ログインとなるため、認証連携処理部41は、認証連携プラグイン30−2から通知されたログイン判定要求に対して、「ログインNG」という判定をすることになる。
【0072】
そして、認証連携管理装置40(認証連携処理部41)は、認証連携プラグイン30−2にログイン判定要求に対する判定結果を通知する(S207)。認証連携処理部41による認証結果は「ログインNG」であり、認証連携プラグイン30−2には、認証結果として、「ログインOK」の認証結果が返答されるものとする。
【0073】
そして、認証連携管理装置40から、ログイン判定要求に対する判定結果を受信すると、認証連携プラグイン30−2は、受信した判定結果に基づいて、「ログインNG」であることを示す「認証NG」の認証結果を、サービス処理部21−2へ通知する(S208)。
【0074】
そして、認証連携プラグイン30−2から「認証OK」の認証結果を受信すると、サービス処理部21−2は、クライアント端末10へログイン結果として「ログインNG」を通知する(S209)。
【0075】
以上のように、認証連携管理装置40では、各ユーザに関するログイン状況を認証連携管理情報431で管理し、認証連携プラグイン30を介して各Webサーバ20を制御して重複ログインが発生しないようにしている。
【0076】
(A−3)第1の実施形態の効果
第1の実施形態によれば、以下のような効果を奏することができる。
【0077】
第1の実施形態では、認証連携管理装置40で、認証連携管理情報431を用いて、いずれかのWebサーバ20にログイン中のユーザについて、どのWebサーバ20にログインしているかを管理している。これにより、認証連携処理部41では、ログイン要求があった場合に、当該ユーザの現在利用状況(ログイン状況)を考慮し、重複ログインとならないようにする等、システム全体から見て総合的に当該ログイン要求の可否を判定することができる。
【0078】
また、Webサーバ20では、認証連携プラグイン30をインストールして、既存のWebサーバで用いられるプラットフォーム(サービス処理部21)の認証依頼先の設定を認証連携プラグイン30に設定変更するだけで、サービス処理部21に対する仕様変更を必要とせずに、認証連携管理装置40との連携を実現することができる。言い換えると、Webサーバ20は、認証連携プラグイン30を用いることにより、既存のWebサーバから容易に構築することができる。
【0079】
さらに、認証連携管理装置40の認証連携管理情報431では、現在いずれかのWebサーバ20にログインするユーザに関する情報を、認証連携プラグイン30から供給される情報だけで管理しているので、利用する可能性のある全てのユーザに関する情報を予め保持しておく必要がない。言い換えると、認証連携管理装置40の認証連携管理情報431では、ユーザ情報を主キーとして、各ユーザのログイン状況情報を管理することにより、ユーザごとのユーザIDを予め管理しておく必要がない構成となっている。これにより、認証連携管理装置40では、予め全てのユーザに関する情報(例えば、ユーザ情報等)を管理する必要がないため、初期状態としては空のテーブルを用意しておくだけでよいことになり、容易に構築及び管理を行うことができる。また、認証連携管理装置40では、予め全てのユーザに関する情報(例えば、ユーザ情報等)を管理する必要がないため、認証連携管理情報431に必要な記憶領域も少なくてすむ。
【0080】
(B)第2の実施形態
以下、本発明によるサービスシステム、サーバ装置、認証制御プログラム、接続制御装置、及び接続制御プログラムの第2の実施形態を、図面を参照しながら詳述する。なお、この実施形態のサービスシステムは、Webサービスシステムである。また、この実施形態の接続制御装置は、認証連携管理装置である。さらにまた、この実施形態のサーバ装置は、Webサーバである。
【0081】
(B−1)第2の実施形態の構成
第2の実施形態のWebサービスシステム1Aの全体構成も上述の図2を用いて示すことができる。以下、第2の実施形態について、第1の実施形態との差異を説明する。
【0082】
Webサービスシステム1Aでは、認証連携管理装置40A及び認証連携プラグイン30(30−1、30−2)が、認証連携管理装置40A及び認証連携プラグイン30A(30A−1、30A−2)に置き換わっている点で、第1の実施形態と異なっている。
【0083】
第2の実施形態の認証連携管理装置40の機能的構成も上述の図3を用いて示すことができる。認証連携管理装置40Aでは、認証連携処理部41が、認証連携処理部41Aに置き換わっている点で第1の実施形態と異なっている。
【0084】
第1の実施形態の認証連携処理部41では、各ユーザに対して重複ログインを認めない構成となっていたが、第2の実施形態認証連携処理部41Aでは、重複ログインを許可するように構成されているものとする。そして、認証連携処理部41Aは、いずれか1つのWebサーバ20について、既にログインしているユーザに対しては、その他のWebサーバ20についても認証結果に関わらずログインを認める機能(以下、「シングルサインオン機能」と呼ぶ)に対応しているものとする。
【0085】
第2の実施形態の認証連携プラグイン30Aの機能的構成も、上述の図4を用いて示すことができる。認証連携プラグイン30Aでは、認証中継処理部31が認証中継処理部31Aに置き換わっている点で、第1の実施形態と異なっている。
【0086】
第1の実施形態の認証連携プラグイン30では、認証装置50からの認証結果が、認証NGだった場合には、その認証結果を破棄し、認証連携管理装置40へのログイン判定要求は送信しないものとして説明した。しかし、第2の実施形態の認証連携プラグイン30A(認証中継処理部31A)では、認証結果がNGの場合でも、認証装置50から認証結果と共にユーザ情報が供給され、ログイン通知情報の生成が可能である場合、認証連携管理装置40Aへのログイン判定要求を送信するように構成されているものとする。
【0087】
例えば、認証装置50への認証要求に付した認証情報で、パスワードのみが不整合だった場合には、認証装置50では、ユーザIDに基づいてユーザ情報を保持することは可能である。したがって、第2の実施形態では、認証装置50に対して、認証結果が認証NGの場合でも、ユーザ情報が取得可能な場合には認証結果と共にユーザ情報を返答するように設定しておくことが望ましい。
【0088】
また、第2の実施形態の認証連携プラグイン30Aは、認証装置50からの認証結果が認証NGの場合でも、認証連携管理装置40Aにログイン判定要求を送信するので、認証連携管理装置40Aへのログイン判定要求に付するログイン通知情報に、認証装置50からの認証結果(認証OK、又は、認証NG)の情報も含めるものとする。
(B−2)第2の実施形態の動作
次に、以上のような構成を有する第2の実施形態のWebサービスシステム1Aの動作を説明する。
【0089】
第2の実施形態のWebサービスシステム1Aでは、重複ログイン、及び、シングルサインオン機能に対応していること以外は第1の実施形態と同様の動作である。したがって、以下では、Webサービスシステム1Aにおける、重複ログイン、及び、シングルサインオン機能に関する動作についてのみ説明する。
【0090】
まず、ここでは、ユーザ(「氏名:山田太郎、住所:東京都千代田区X−X−X、電話番号:0123456789」というユーザ情報に該当するユーザ)がクライアント端末10を操作して、Webサーバ20−1へログインした状態(上述の図5のシーケンス図にしたがってWebサービスシステム1Aが動作した後の状態)となっているものとする。したがって、認証連携管理情報431の内容は、図7(b)に示す状態となっているものとする。
【0091】
そして、以下では、その後Webサービスシステム1Aが、図8のシーケンス図に従って動作した場合の例について説明する。
【0092】
まず、上述と同一のユーザにより、クライアント端末10が操作され、今度は、クライアント端末10からWebサーバ20−2へログイン要求が送信されたものとする(S301)。また、Webサーバ20−2へのアクセスにあたって、ユーザによりクライアント端末10に、Webサーバ20−2にログインするための認証情報として、ユーザID(yamada-t)及びパスワードが入力されたものとする。そして、クライアント端末10からWebサーバ20−2へのログイン要求と共に、そのログインに必要な認証情報も送信されたものとする。
【0093】
そして、Webサーバ20−2のサービス処理部21−2に、クライアント端末10からのログイン要求と共に認証情報が通知されると、Webサーバ20−2は、認証連携プラグイン30A−2へ、その認証情報に基づく認証要求を通知する(S302)。
【0094】
そして、サービス処理部21−2から認証要求の通知を受けた認証連携プラグイン30A−2は、その認証要求を、そのまま、認証装置50−2に通知(転送)する(S303)。
【0095】
そして、Webサーバ20−2(認証連携プラグイン30A−2)から認証要求の通知を受けると、認証装置50−2は、その認証要求に係る認証情報(ユーザID、及び、パスワード)と、自装置に設定されているデータとを照合して認証を行い、その認証結果に、当該認証に係るユーザのユーザ情報(ユーザID「yamada-t」に対応するユーザ情報)を付して、Webサーバ20−2(認証連携プラグイン30A−2)に送信する(S304)。なお、ここでは、認証装置50−2による認証結果は、パスワードの不整合により認証NGという結果であったものとする。ただし、当該ユーザIDに対応するユーザ情報ついては、認証装置50−2で一致するものを検出することができ、認証装置50−2から認証連携プラグイン30A−2へ認証結果と共に通知されたものとする。そして、認証装置50−2から認証連携プラグイン30A−2へ、認証結果と共に通知されたユーザ情報は、「氏名:山田太郎、住所:東京都千代田区X−X−X、電話番号:0123456789」という内容であったものとする。
【0096】
そして、認証装置50−2からの認証結果(ユーザ情報が付されている)を受信すると、認証連携プラグイン30A−2は、クライアント端末10から受信した認証情報と、認証装置50−2から受信した認証結果及びユーザ情報とを利用してログイン通知情報を生成し、ログイン判定要求と共に、認証連携管理装置40Aに送信する(S305)。この場合、認証連携プラグイン30A−2から認証連携管理装置40Aへ通知されるログイン通知情報には、「氏名:山田太郎、住所:東京都千代田区X−X−X、電話番号:0123456789」というユーザ情報と、「yamada-t」というユーザIDと、「認証NG」という認証結果の情報が含まれることになる。
【0097】
そして、ログイン判定要求(ログイン通知情報が付されている)を受信すると、認証携管理装置40A(認証連携処理部41A)は、ログイン通知情報の内容と、認証連携管理情報431の内容とを利用して、そのログイン判定要求に対して判定処理を行う(S306)。認証連携処理部41Aは、認証連携管理情報431から、ログイン通知情報に含まれていた「氏名:山田太郎、住所:東京都千代田区X−X−X、電話番号:0123456789」というユーザ情報に該当する情報を検索する。この時点で、認証連携管理情報431の内容は、図7(b)の内容となっており、認証連携処理部41Aは該当するユーザの情報を検出することになる。そして、認証連携処理部41Aは、検出した情報うち、ログイン状況情報の項目を参照し、当該ユーザの現在のログイン状況を把握する。そして、認証連携処理部41Aは、当該ユーザは、すでにWebサーバA(Webサーバ20−1)にログイン中であることを把握する(WebサーバAの項目にユーザIDが入力されているため)。したがって、認証連携処理部41Aは、当該ユーザは既に他のWebサーバへログインしていることから、今回のログイン判定要求に付されたログイン通知情報で認証結果が認証NGであっても、シングルサインオンの機能によりログインOKと判定をすることになる。なお、当該ユーザが、未だいずれのWebサーバにもログインしていない場合は、シングルサインオンの対象とならないことから、認証連携処理部41Aはログイン判定要求に対してログインNGと判定することになる。
【0098】
そして、認証連携管理装置40A(認証連携処理部41A)は、認証連携プラグイン30A−2にログイン判定要求に対する判定結果を通知する(S307)。認証連携処理部41Aによる認証結果は「ログインOK(シングルサインオン)」であり、認証連携プラグイン30A−2には、認証結果として、「ログインOK(シングルサインオン)」が返答されるものとする。
【0099】
そして、認証連携管理装置40Aから、ログイン判定要求に対する判定結果を受信すると、認証連携プラグイン30A−2は、受信した判定結果に基づいて、「ログインOK」であることを示す「認証OK」の認証結果を、サービス処理部21−2へ通知する(S308)。
【0100】
そして、認証連携プラグイン30A−2から認証OKの認証結果を受信すると、サービス処理部21−2は、クライアント端末10へログイン結果として「ログインOK」を通知する(S309)。
【0101】
以上のように、認証連携管理装置40Aでは、各ユーザに関するログイン状況を認証連携管理情報431で管理し、認証連携プラグイン30Aを介して各Webサーバ20を制御してシングルサインオンの機能を実現している。
【0102】
(B−3)第2の実施形態の効果
第2の実施形態によれば、第1の実施形態の効果に加えて以下のような効果を奏することができる。
【0103】
第2の実施形態では、認証連携プラグイン30及び認証連携管理装置40Aを用いて各Webサーバ20の間を連携し、シングルサインオンの機能を実現している。従来技術では、例えば、既に構築したWebサービスシステムで、後からシングルサインオンの機能を搭載しようとすると、認証に関する構成を全面的に変更する必要があるが、第2の実施形態のように、認証連携プラグイン30及び認証連携管理装置40Aを用いて各Webサーバ20の間を連携することにより、容易に実現することが可能となる。
【0104】
(C)第3の実施形態
以下、本発明によるサービスシステム、サーバ装置、認証制御プログラム、接続制御装置、及び接続制御プログラムの第3の実施形態を、図面を参照しながら詳述する。なお、この実施形態のサービスシステムは、Webサービスシステムである。また、この実施形態の接続制御装置は、認証連携管理装置である。さらにまた、この実施形態のサーバ装置は、Webサーバである。
【0105】
(C−1)第3の実施形態の構成
図10は、第3の実施形態のWebサービスシステム1Bの全体構成を示すブロック図であり、上述の図1と同一又は対応する部分には、同一又は対応する符号を付している。
【0106】
図10に示す通り、第3の実施形態のWebサービスシステム1Bでは、3台のWebサーバ20(20−1〜20−3)、3台の認証システム50(50−1〜50−3)、及び認証連携管理装置40Bが配置されている。
【0107】
認証システム50−1〜50−3は、それぞれWebサーバ20−1〜20−3のログインに対する認証を行う認証装置として配置されている。そして、それぞれのWebサーバ20(20−1〜20−3)には、認証連携プラグイン30(30−1〜30−3)が搭載されている。
【0108】
第3の実施形態の認証連携処理部41Bの機能的構成も上述の図3を用いて示すことができる。認証連携管理装置40Bでは、認証連携処理部41及び認証連携管理情報431が、認証連携処理部41B及び認証連携管理情報431Bに置き換わっている点で第1の実施形態と異なっている。
【0109】
第1の実施形態の認証連携管理装置40では重複ログインを認めない構成となっていたが、認証連携管理装置40Bでは、所定数Webサーバ20、又は、所定の組合せのWebサーバ20については、ユーザに対して重複ログインを認める構成となっている。言い換えると、認証連携管理装置40Bでは、所定の条件の範囲内で、各ユーザに対して重複ログインを認める構成となっている。
【0110】
この実施形態の認証連携管理装置40Bは、例として、各ユーザに対して、2台以下のWebサーバ20であれば同時にログイン(重複ログイン)を認める構成となっているものとして説明する。
【0111】
そして、第3の実施形態では、3台のWebサーバ20−1〜20−3が配置されているので、認証連携管理情報431Bの内容は、図11に示すように、ログイン状況情報の項目が3台のWebサーバ20−1〜20−3についてログイン状況について管理できるようになっている。
【0112】
図11に示すように、認証連携管理情報431Bでは、ログイン状況情報に、第3のWebサーバ20−3へのログイン状況を管理するための「WebサーバC」という項目が追加されている点で、第1の実施形態と異なっている。
【0113】
(C−2)第3の実施形態の動作
次に、以上のような構成を有する第3の実施形態のWebサービスシステム1Bの動作を説明する。
【0114】
第3の実施形態のWebサービスシステム1Bでは、ユーザ(クライアント端末10)による各Webサーバ20へのログイン処理のシーケンスについては、認証連携管理装置40Bのログイン判定処理で、所定の条件の範囲内で重複ログインを認めること以外は、第1の実施形態同様であるので、以下では、認証連携管理装置40Bによるログイン判定処理についてのみ説明する。
【0115】
ここでは、例として、認証連携管理情報431Bが、図11に示す状態となっている場合を想定する。図11では、「氏名:山田太郎、住所:東京都千代田区X−X−X、電話番号:0123456789」というユーザ情報に対応するログイン状況情報で、WebサーバA(Webサーバ20−1)、WebサーバB(Webサーバ20−2)の項目についてのみユーザID(yamada-t)が入力されている。従って、図11に示す例では、当該ユーザは、Webサーバ20−1及びWebサーバ20−2を利用中(ログイン中)の状態であることを示している。そして、認証連携管理情報431Bの内容が、図11に示す状態で、当該ユーザがクライアント端末10を用いてWebサーバ20−3へのログイン要求を試みた場合、そのログインを許可すると当該ユーザは3つ以上のWebサーバ20に同時に利用(ログイン)をすることになるので、認証連携管理装置40(認証連携処理部41)は、そのログイン要求に関するログイン判定処理で、「ログインNG」と判定することになる。
【0116】
以上のように、認証連携管理装置40Bでは、各ユーザに関するログイン状況を認証連携管理情報431Bで管理し、認証連携プラグイン30を介して各Webサーバ20を制御して、所定の条件の範囲内での重複ログインを実現することができる。
【0117】
(C−3)第3の実施形態の効果
第3の実施形態では、認証連携プラグイン30及び認証連携管理装置40Bを用いて、ユーザごとに現在ログインしているWebサーバ20の数等を把握し、各ユーザに対して所定の条件の範囲内でのみ重複ログインを認めるように制御している。従来技術では、例えば、既に構築したWebサービスシステムで、後から上述のような重複ログインの管理を行おうとすると、認証に関する構成を全面的に変更する必要があるが、第3の実施形態のように、認証連携プラグイン30及び認証連携管理装置40Bを用いて各Webサーバ20の間を連携することにより、容易に実現することが可能となる。
【0118】
(D)他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【0119】
(D−1)上記の各実施形態では、認証連携管理情報でログイン状況情報の項目に入力する内容として、ユーザIDを適用するものとして説明している。しかし、ログイン状況情報の項目には、ログイン状態であるか否かを表すことができればその他の情報(例えば、「1」、「0」等のフラグ情報)に置き換えるようにしても良い。すなわち、認証連携プラグインでは、必ずしもログインIDを保持する必要はない。
【0120】
(D−2)上記の実施形態では、本発明のサービスシステムを、複数のWebサーバを有するWebサービスシステムに適用する例について説明したが、その他のサービスを提供するサーバ(たとえば、メールサーバやグループウェアサーバ等)を備えるサービスシステムに適用するようにしても良い。
【0121】
(D−3)上記の各実施形態のWebサービスシステムの認証システムでは、それぞれのWebサーバに対応する認証装置が配置される構成となっているが、複数のWebサーバで同一の認証装置を用いた認証システムを構築するようにしても良いし、全てのWebサーバで同一の認証装置を用いた認証システムを構築するようにしても良い。すなわち、Webサービスシステムにおいて、配置する認証装置の数や、Webサーバとの対応関係は限定されないものである。
【0122】
(D−4)上記の各実施形態において、認証連携管理装置の認証連携管理情報では、上述の通り、ユーザ情報を主キーとして、各ユーザのログイン状況情報を管理することにより、ユーザごとのユーザIDを予め管理しておく必要がない構成となっている。しかし、認証連携管理装置において、予めユーザごとに、各Webサーバで使用するユーザIDを管理し、ログイン要求に係る認証情報(ユーザID)に基づいて、認証連携管理情報のログイン状況情報を管理するようにしても良い。
【符号の説明】
【0123】
1…Webサービスシステム、2…クライアント端末10、20、20−1、20−2…Webサーバ、21−1、21−2、21…サービス処理部、22、22−1、22−2…認証IF部、30、30−1、30−2…認証連携プラグイン、31…認証中継処理部、32、33、34…IF部32、40…認証連携管理装置、41…認証連携処理部、42…IF部、43…データ記憶部、431…認証連携管理情報、50、50−1、50−2…認証装置。

【特許請求の範囲】
【請求項1】
クライアントにサービスを提供するサービス提供手段を備える複数のサーバ装置と、上記クライアントから上記サーバ装置への接続要求に関する認証処理を行う認証システムと、上記クライアントから上記サーバ装置へのログイン要求に関する制御を行う接続制御装置とを備えるサービスシステムであって、
それぞれの上記サーバ装置は、
上記サービス提供手段が行うサービスの認証制御に関する処理を行う認証制御手段を備え、
上記サービス提供手段は、
上記クライアントから、ログイン要求を認証情報と共に受付けるログイン受付部と、
上記ログイン受付部が受付けたログイン要求に関するログイン判定処理を、上記認証制御手段に依頼してログイン判定結果を受信するログイン判定依頼部と
上記ログイン判定依頼部が受信したログイン判定結果に従って、上記クライアントからのログイン要求の処理を行うログイン処理部とを有し、
上記認証制御手段は、
上記サービス提供手段がログイン要求と共に受付けた認証情報に基づく認証を、上記認証システムに依頼して、その認証結果を受信する認証依頼部と、
上記サービス提供手段が受付けたログイン要求に係るユーザによる、各サーバ装置の利用状況を考慮して、上記サービス提供手段が受付けたログイン要求に関する判定を行う総合ログイン判定を、上記接続制御装置に依頼する総合ログイン判定依頼部と、
上記認証依頼部が受信した認証結果、及び又は、上記総合ログイン判定依頼部が受信した総合ログイン判定結果を利用して得たログイン判定結果を、上記サービス提供手段に回答するログイン判定回答手段とを有し、
上記接続制御装置は、
ユーザごとの上記サーバ装置の利用状況を表わすサーバ利用状況情報を管理するサーバ利用状況管理手段と、
上記サーバ装置から、総合ログイン判定処理の依頼を受付ける総合ログイン判定受付手段と、
上記サーバ利用状況管理手段が管理するサーバ利用状況管理情報を利用して、総合ログイン判定の依頼元のサーバ装置が受付けたログイン要求に係るユーザによる各サーバ装置の利用状況を確認し、その確認結果を考慮して、総合ログイン判定の依頼元のサーバ装置が受付けたログイン要求に関する判定を行い、その判定結果を、総合ログイン判定の依頼元のサーバ装置へ回答する総合ログイン判定手段とを有する
ことを特徴とするサービスシステム。
【請求項2】
上記認証制御手段は、上記サービス提供手段がログイン要求と共に受付けた認証情報に係るユーザを特定するためのユーザ情報を保持するユーザ情報保持部をさらに備え、
上記総合ログイン判定依頼部は、上記接続制御装置に総合ログイン判定を依頼する際に、その総合ログイン判定に係るユーザのユーザ情報として、上記ユーザ情報保持部が保持したユーザ情報を上記接続制御装置に供給し、
上記サーバ利用状況管理手段が管理するサーバ利用状況管理情報には、ユーザ情報と、当該ユーザ情報が示すユーザが利用中の上記サーバ装置を表わすサーバ利用状況情報とが対応付けられた情報が含まれ、
上記総合ログイン判定手段は、上記サーバ装置から供給されたユーザ情報に対応するユーザを、総合ログイン判定の依頼元のサーバ装置が受付けたログイン要求に係るユーザとみなし、上記サーバ利用状況管理手段が管理するサーバ利用状況管理情報を利用して、当該ユーザによる各サーバ装置の利用状況を確認する
ことを特徴とする請求項1に記載のサービスシステム
【請求項3】
上記ユーザ情報保持部は、上記認証装置から、認証結果と共に、その認証処理に用いた認証情報に対応するユーザ情報の供給を受けることを特徴とする請求項2に記載のサービスシステム。
【請求項4】
上記サーバ利用状況管理手段は、上記総合ログイン判定受付手段が受付けた総合ログイン判定の内容を利用して、サーバ利用状況管理情報を更新することを特徴とする請求項3に記載のサービスシステム。
【請求項5】
クライアントにサービスを提供するサービス提供手段を備えるサーバ装置において、
上記サービス提供手段が行うサービスの認証制御に関する処理を行う認証制御手段を備え、
上記サービス提供手段は、
上記クライアントから、ログイン要求を認証情報と共に受付けるログイン受付部と、
上記ログイン受付部が受付けたログイン要求に関するログイン判定処理を、上記認証制御手段に依頼してログイン判定結果を受信するログイン判定依頼部と
上記ログイン判定依頼部が受信したログイン判定結果に従って、上記クライアントからのログイン要求の処理を行うログイン処理部とを有し、
上記認証制御手段は、
上記サービス提供手段がログイン要求と共に受付けた認証情報に基づく認証を、上記認証システムに依頼して、その認証結果を受信する認証依頼部と、
上記サービス提供手段が受付けたログイン要求に係るユーザによる、各サーバ装置の利用状況を考慮して、上記サービス提供手段が受付けたログイン要求に関する判定を行う総合ログイン判定を、上記接続制御装置に依頼する総合ログイン判定依頼部と、
上記認証依頼部が受信した認証結果、及び又は、上記総合ログイン判定依頼部が受信した総合ログイン判定結果を利用して得たログイン判定結果を、上記サービス提供手段に回答するログイン判定回答手段とを有する
ことを特徴とするサーバ装置。
【請求項6】
クライアントにサービスを提供するサービス提供手段を備えるサーバ装置に搭載されたコンピュータを、
上記サービス提供手段が上記クライアントからログイン要求と共に受付けた認証情報に基づく認証を、上記認証システムに依頼して、その認証結果を受信する認証依頼部と、
上記サービス提供手段が受付けたログイン要求に係るユーザによる、各サーバ装置の利用状況を考慮して、上記サービス提供手段が受付けたログイン要求に関する判定を行う総合ログイン判定を、上記接続制御装置に依頼する総合ログイン判定依頼部と、
上記認証依頼部が受信した認証結果、及び又は、上記総合ログイン判定依頼部が受信した総合ログイン判定結果を利用して得たログイン判定結果を、上記サービス提供手段に回答するログイン判定回答手段と
して機能させることを特徴とする認証制御プログラム。
【請求項7】
クライアントにサービスを提供するサービス提供手段を備える複数のサーバ装置と、上記クライアントから上記サーバ装置への接続要求に関する認証処理を行う認証システムとを有するサービスシステムを構成する、上記クライアントから上記サーバ装置へのログイン要求に関する制御を行う接続制御装置であって、
ユーザごとの上記サーバ装置の利用状況を表わすサーバ利用状況情報を管理するサーバ利用状況管理手段と、
ユーザごとの各サーバ装置の利用状況を考慮してログイン要求に関する判定を行う総合ログイン判定の依頼を、上記サーバ装置から受付ける総合ログイン判定受付手段と
を有することを特徴とする接続制御装置。
【請求項8】
クライアントにサービスを提供するサービス提供手段を備える複数のサーバ装置と、上記クライアントから上記サーバ装置への接続要求に関する認証処理を行う認証システムとを有するサービスシステムを構成する、上記クライアントから上記サーバ装置へのログイン要求に関する制御を行う接続制御装置に搭載されたコンピュータを、
ユーザごとの上記サーバ装置の利用状況を表わすサーバ利用状況情報を管理するサーバ利用状況管理手段と、
ユーザごとの各サーバ装置の利用状況を考慮してログイン要求に関する判定を行う総合ログイン判定の依頼を、上記サーバ装置から受付ける総合ログイン判定受付手段と、
上記サーバ利用状況管理手段が管理するサーバ利用状況管理情報を利用して、総合ログイン判定の依頼元のサーバ装置が受付けたログイン要求に係るユーザによる各サーバ装置の利用状況を確認し、その確認結果を考慮して、総合ログイン判定の依頼元のサーバ装置が受付けたログイン要求に関する判定を行い、その判定結果を、総合ログイン判定の依頼元のサーバ装置へ回答する総合ログイン判定手段と
して機能させることを特徴とする接続制御プログラム。

【図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


【公開番号】特開2013−50816(P2013−50816A)
【公開日】平成25年3月14日(2013.3.14)
【国際特許分類】
【出願番号】特願2011−187844(P2011−187844)
【出願日】平成23年8月30日(2011.8.30)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【Fターム(参考)】