説明

サーバ装置およびプログラム

【課題】シングル・サインオンのための認証情報を簡単に登録できるようにする
【解決手段】サーバ装置(10)の解析部(104)は、クライアント(20)から受信したサーバ(30)に対するログイン情報を解析して、サーバの認証方式を判定し、可変情報であることを表す所定形式の仮の認証情報(図9)を抽出して、認証方式と可変情報として仮の認証情報とを記憶装置に格納する。また、解析部は、ユーザの代表認証情報に対するサーバ用のユーザの認証情報を可変情報として記憶装置に格納する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバに自動的にログインするためのシングル・サインオン・サービスのための処理に関する。
【背景技術】
【0002】
シングル・サインオンを使用するウェブ・サーバまたはそのアプリケーションのURI(Uniform Resource Identifier)をシングル・サインオン用のサーバに登録する場合、ウェブ・サーバまたはアプリケーションの認証方式およびIPアドレス等の必要な情報を予め収集する必要がある。そのために、オペレータは、シングル・サインオンを使用するウェブ・サーバとクライアントの間の全ての通信ログを収集して解析し、ウェブ・サーバまたはアプリケーションからのHTML(HyperText Markup Language)で記述されたURL(Uniform Resource Locator)情報を解析する必要がある。
【0003】
その解析のために、管理者は、ミドルウェアとしての例えばOS(Operating System)、データベース(DB)、HTML、HTTP(HyperText Transfer Protocol)等に関する専門的知識を必要とする。また、管理者は、その登録のたびに、保存した電文とネットワーク上に流れる電文とを比較して解析する必要がある。
【0004】
既知のシングル・サインオン方法では、ナレッジ(知識)として格納したシングル・サインオンを実現するシングル・サインオン・モジュールと、業務システムのログイン通信を解析し適用可能なシングル・サインオン・モジュールを選択し実行するシングル・サインオン・サーバとを用いる。それによって、HTTP、HTMLなどの下位レイヤの知識を必要とせずにシングル・サインオンを実現する。それによって、短期間、低コストでのシングル・サインオンが実現できる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−331044号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、既知のシングル・サインオン方法では、自動ログインを実現するために、全てのシングル・サインオン・モジュールとネットワークに流れる電文を比較する必要がある。自動ログインの度に全てのシングル・サインオン・モジュールと比較するため、シングル・サインオン・モジュールの種類が増えるほどSSOサーバの負荷が高くなるという問題がある。
【0007】
一側面では、本発明の目的は、自動ログイン時のサーバの負荷を抑えること、又はシングル・サインオンのための認証情報を簡単に登録できるようにすることである。
【課題を解決するための手段】
【0008】
本発明の実施形態の一観点(特徴)によれば、シングル・サインオンによるログインを実現するシングル・サインオン用のサーバ装置は、記憶装置と、解析部と、を具えている。解析部は、クライアントから受信したログイン情報を解析して、そのサーバの認証方式を判定し、さらにそのログイン情報から可変情報であることを表す所定形式の仮の認証情報を抽出して、その認証方式の情報とその可変情報としてのその仮の認証情報とをその記憶装置に格納する。また、解析部は、ユーザの代表認証情報に対する認証情報をその可変情報としてその記憶装置に格納する。
【発明の効果】
【0009】
本発明の実施形態の一観点によれば、自動ログイン時のサーバの負荷を抑えることができ、又は、シングル・サインオンのための認証情報を簡単に登録できる。
【図面の簡単な説明】
【0010】
【図1】図1は、ネットワーク5を介して相互に接続された、シングル・サインオン(SSO)サーバと、管理者用およびユーザ用の情報処理端末と、ウェブ・サーバとの間の接続の例を示している。
【図2】図2は、シングル・サインオン・サーバの概略的な構成の例を示している。
【図3】図3は、データベース中のサーバ別のログイン情報のテーブルの例を示している。
【図4】図4Aおよび4Bは、データベース中のサーバ別ユーザ別の認証情報のテーブルおよびサーバ別の可変情報のテーブルの例をそれぞれ示している。
【図5】図5Aおよび5Bは、異なる認証方式に対する図3のサーバ別のログイン情報の具体的なテーブルの例を示している。
【図6】図6Aおよび6Bは、図4Aおよび4Bのサーバ別ユーザ別の認証情報のテーブルおよびサーバ別の可変情報の具体的なテーブルの例をそれぞれ示している。
【図7】図7は、シングル・サインオン・サーバによって実行される、情報処理端末からの各種のログイン要求に対するシングル・サインオン用の処理のためのフローチャートの例を示している。
【図8】図8は、シングル・サインオン・サーバによって実行される、管理者用の情報処理端末からのログイン要求に対するサーバ別のシングル・サインオン用のログイン情報の登録のためのフローチャートの例を示している。
【図9】図9は、サーバのログイン入力用ウェブ・ページを表すログイン入力画面の例を示している。
【図10】図10は、シングル・サインオン・サーバによって実行される、ユーザ用の情報処理端末からのログイン要求に対するサーバ別のシングル・サインオン用のログイン情報の登録のためのフローチャートの例を示している。
【図11】図11は、シングル・サインオン・サービス登録画面の例を示している。
【図12A】図12Aおよび12Bは、シングル・サインオン・サーバによって実行される、ユーザ用の情報処理端末からのウェブ・サーバへのログイン要求に対するシングル・サインオン処理のためのフローチャートの例を示している。
【図12B】(図12Aで説明)
【発明を実施するための形態】
【0011】
発明の目的および利点は、請求の範囲に具体的に記載された構成要素および組み合わせによって実現され達成される。
【0012】
前述の一般的な説明および以下の詳細な説明は、典型例および説明のためのものであって、本発明を限定するためのものではない。
【0013】
本発明の非限定的な実施形態を、図面を参照して説明する。図面において、同様の構成要素には同じ参照番号が付されている。
【0014】
図1は、ネットワーク5を介して相互に接続された、シングル・サインオン(SSO)サーバ10と、管理者用の情報処理端末20およびユーザ用の情報処理端末22、...24と、ウェブ・サーバ30、32、...34との間の接続の例を示している。情報処理端末20〜24はクライアント・マシンである。情報処理端末20〜24において、それぞれのプロセッサ上にウェブ・ブラウザが実装(実行)される。情報処理端末20〜24において、シングル・サインオン・サーバ10およびウェブ・サーバ30〜34との間の送受信および受信URL情報の表示または提示は、それぞれのウェブ・ブラウザによって実行される。シングル・サインオン・サーバ10およびウェブ・サーバ30〜34は、情報処理装置としてのサーバ・マシンである。シングル・サインオン・サーバ10は、データベース(DB)16を有する。管理者用の情報処理端末20としてユーザ用の情報処理端末22〜24が共用されてもよい。
【0015】
ネットワーク5は、例えば、インターネット、ケーブルテレビ(CATV)網、電話回線網、移動体通信網および/またはLAN等のネットワークを含んでいてもよい。情報処理端末20〜24は、例えば、パーソナル・コンピュータ(PC)、携帯電話機またはPDA(Personal Digital Assistant)であってもよい。ウェブ・サーバ30〜34は、ユーザの情報処理端末22〜24に対してコンテンツ供給または情報処理サービスを提供するアプリケーションを含んでいる。
【0016】
ユーザは、ウェブ・サーバ30〜34またはそのアプリケーションに対するそれぞれのユーザ固有の認証情報を、シングル・サインオン・サーバ10に予め登録することができる。それによって、ユーザはユーザの代表認証情報のみを用いて、それぞれ別々の認証を必要とする複数のウェブ・サーバ30〜34またはアプリケーションにアクセスすることができる。
【0017】
図2は、シングル・サインオン・サーバ10の概略的な構成の例を示している。
シングル・サインオン・サーバ10は、プロセッサ12、例えば磁気ディスクおよびRAMのような記憶装置14、受付部102、ログイン解析部104、ログイン実行部106、およびネットワーク5に接続されるネットワーク・インタフェース(NW/IF)を含んでいる。記憶装置14は、サーバ用のプログラム、およびデータベース(DB)16およびその他のデータ等を格納する。
【0018】
受付部102、ログイン解析部104およびログイン実行部106は、記憶装置14に格納されプロセッサ12によって実行されるアプリケーション・プログラムとしてソフトウェアの形態で実装されていても、または集積回路としてハードウェアの形態で実装されていてもよい。データベース16は、シングル・サインオン・サービスおよびその予備処理に必要なデータまたはファイルを格納している。
【0019】
図3は、データベース16中のサーバ別のログイン情報のテーブルの例を示している。
図3のサーバ別のログイン情報のテーブルは、例えば、次の各項目(エントリ)を含んでいる。
(1)ウェブ・サーバのトップ・ウェブページのURLまたはURI、
(2)ウェブ・サーバのログイン用のURLまたはURI、
(3)サーバの認証方式(Form/Basic)、
(4)認証用の固有情報、
(5)ログイン要求用のURLまたはURI、および
(6)ログイン・データ情報。
【0020】
図4Aおよび4Bは、データベース16中のサーバ別かつユーザ別の認証情報のテーブルおよびサーバ別の可変情報のテーブルの例をそれぞれ示している。
【0021】
図4Aのサーバ別ユーザ別の認証情報のテーブルは、例えば、特定のウェブ・サーバ識別と特定のユーザ識別の組合せに対する、次の各項目(エントリ)を含んでいる。
(1)代表認証情報としての代表IDおよび代表パスワード、
(2)サーバまたはアプリケーション用のユーザID、および
(3)サーバまたはアプリケーション用のユーザ・パスワード。
【0022】
図4Bのサーバ別の可変情報のテーブルは、例えば、ウェブ・サーバ識別に対する次の各項目(エントリ)を含んでいる。
(1)仮のユーザID、
(2)仮のパスワード、および
(3)仮のその他の可変情報。
図4Bにおける所定の形式の仮のユーザID(例えば、“uid”)および所定の形式の仮のパスワード(例えば、“password”)は、図4Aの実際の認証情報としてのユーザIDおよびユーザ・パスワードを継承して用いることを表す。図4Bの仮のその他の可変情報は、図4Aの認証情報中のいずれの項目の情報とも対応しないので、その“仮のその他の可変情報”が実際の“その他の可変情報”となってもよい。
【0023】
図5Aおよび5Bは、異なる認証方式(Form/Basic)に対する図3のサーバ別のログイン情報の具体的なテーブルの例を示している。
【0024】
図5Aのサーバ別のログイン情報の具体的なテーブルは、例えば、次の各項目(エントリ)を含んでいる。
(1)ウェブ・サーバのトップ・ウェブページのURL“http://sample.fujitsu.com/index.html”、
(2)ウェブ・サーバのログイン用のURL“http://sample.fujitsu.com/login.html”、
(3)ウェブ・サーバの認証方式“Form”、
(4)ウェブ・サーバの認証用の固有情報“input”、“name”、 “userID”、“LOG_IN”、“userid”、“passwd”“submit”、“action”、
(5)ウェブ・サーバのログイン要求用のURL“http://sample.fujitsu.com/action.html”、および
(6)ウェブ・サーバのログイン・データ情報“userid=uid,passwd=password,docID=key1”。
図5Aにおいて、破線の下線で示されたログイン・データ情報中の値“uid”、“password”および“key1”は、ログイン用の仮の可変情報である。
【0025】
図5Bのサーバ別のログイン情報の具体的なテーブルは、例えば、次の各項目を含んでいる。
(1)ウェブ・サーバのトップ・ウェブページのURL“http://sample.fujitsu.com/index.html”、
(2)ウェブ・サーバのログイン用のURL“http://sample.fujitsu.com/login.html”、および
(3)ウェブ・サーバの認証方式“Basic”(ベーシック認証、基本認証)。
認証方式が“Basic”の場合は、他の項目(4)〜(6)は存在しない。
【0026】
図6Aおよび6Bは、図4Aおよび4Bのサーバ別ユーザ別の認証情報のテーブルおよびサーバ別の可変情報の具体的なテーブルの例をそれぞれ示している。
【0027】
図6Aのウェブ・サーバ別ユーザ別の認証情報のテーブルは、例えば、ウェブ・サーバ識別“Server_1”およびユーザ識別“User_1”に対する、次の各項目を含んでいる。
(1)代表ユーザID“UserID_10”および代表パスワード“PWD_10”、
(2)実際のユーザID“UserID_11”、および
(3)実際のユーザ・パスワード“PWD_11”。
【0028】
図6Bのサーバ別の可変情報の具体的なテーブルは、例えば、ウェブ・サーバ“Server_1”に対する、次の各項目を含んでいる。
(1)仮のユーザID“uid”、
(2)仮のユーザ・パスワード“password”、および
(3)仮の可変情報“key1,workgroup”。
上述のように、(3)仮の可変情報“key1,workgroup”は最終的に実際の可変情報となってもよい。
【0029】
図7は、シングル・サインオン・サーバ10によって実行される、情報処理端末20〜24からの各種のログイン要求に対するシングル・サインオン用の処理のためのフローチャートの例を示している。
【0030】
図7を参照すると、管理者用の情報処理端末20およびユーザ用の情報処理端末22〜24(そのウェブ・ブラウザ)は、先にシングル・サインオン・サーバ10にIDおよびパスワードを用いてログインする。情報処理端末20のウェブ・ブラウザは、管理者の操作に従って、サーバ別のシングル・サインオン用の認証情報を登録するためのウェブ・サーバへのログイン要求を、シングル・サインオン・サーバ10に送信することができる。そのウェブ・サーバへのログイン要求は、ウェブ・サーバ30〜34のURLまたはURIの形態を有することができる。情報処理端末20のウェブ・ブラウザは、管理者の操作に従って、ウェブ・サーバ30〜34またはそのアプリケーションの(1)トップページURLまたはURI、および(2)ログインページURLまたはURIを、シングル・サインオン・サーバ10に送信する。
【0031】
ユーザ用の情報処理端末22〜24は、ウェブ・サーバ別のシングル・サインオン用の認証情報を登録するためのログイン要求、またはウェブ・サーバ30〜34またはアプリケーションへのログイン要求をシングル・サインオン・サーバ10に送信することができる。ウェブ・サーバ別のシングル・サインオン用の認証情報を登録するためのログイン要求は、シングル・サインオン・サーバ10のURLまたはURIを含み、さらに、シングル・サインオン・サーバ10用のユーザのIDおよびパスワードを含んでいる。そのIDおよびパスワードは、シングル・サインオン・サーバ10にログインするために必要である。そのIDおよびパスワードは、管理者用のIDおよび管理者用のパスワード、またはユーザの代表IDおよび代表パスワードであってもよい。
【0032】
ステップ302において、受付部102(またはプロセッサ12)は、ロングイン要求を受信する。管理者またはユーザが未認証の場合は、受付部102またはプロセッサ12は、管理者またはユーザの認証処理を行う。その認証には、管理者用のIDおよびパスワードで、またはユーザの代表者IDおよび代表パスワードで認証してもよい。
【0033】
ステップ304において、ログイン解析部104(またはプロセッサ12)は、その要求が管理者からのものかまたはユーザからのものかを判定する。そのために、ログイン解析部104(またはプロセッサ12)は、例えば、その要求からリンク元のページのURL(Referer情報)を参照して、要求元URLが管理者用のログイン入力画面のものか(例えば、シングル・サインオン・サーバ10のドメインのURLか)どうかを判定してもよい。その要求が管理者からのウェブ・サーバ30〜34へのログイン要求であると判定された場合は、手順はステップ306に進む。
【0034】
ステップ306において、ログイン解析部104(またはプロセッサ12)は、データベース16中のサーバ別のログイン情報のテーブル(図3)を検索して、URLのウェブ・サーバ30〜34の認証方式(Form/Basic)が既に登録されているかどうかを判定する。その認証方式が未だ登録されていないと判定された場合は、手順は図8のステップ422に進む。認証方式が既に登録されていると判定された場合は、ステップ308において、受付部102(またはプロセッサ12)は、所要のその他の処理を実行する。
【0035】
ステップ304において、その要求が管理者からのものでなくユーザからのものであると判定された場合は、ステップ312において、ログイン解析部104(またはプロセッサ12)は、そのログイン要求が登録要求のためのもの(URL)かどうかを判定する。そのログイン要求が登録要求のためのものであると判定された場合は、手順は、図10のステップ452に進む。そのログイン要求が登録要求のためのものでない判定された場合は、手順はステップ314に進む。
【0036】
ステップ314において、ログイン解析部104(またはプロセッサ12)は、データベース16中のサーバ別のログイン情報のテーブル(図3)を検索して、ウェブ・サーバ30〜34の認証方式が既に登録されているかどうかを判定する。その認証方式が未だ登録済みでないと判定された場合は、ステップ316において受付部102(またはプロセッサ12)は、ユーザ情報処理端末22に対してエラー通知を行う。その認証方式が登録済みであると判定された場合は、手順はステップ318に進む。ステップ318において、ログイン解析部104(またはプロセッサ12)は、データベース16を検索して、そのユーザの代表ID、代表パスワード、ウェブ・サーバ30〜34用のユーザIDおよびパスワードが既に登録済みであるかどうかを判定する。そのために、データベース16中のサーバ別ユーザ別の認証情報のテーブル(図4A)が検索される。
【0037】
ステップ318においてユーザIDおよびパスワードが登録済みであると判定された場合は、手順は、図12Aのステップ522へ進む。ステップ318においてユーザIDおよびパスワードが未だ登録済みでないと判定された場合は、手順は、図10のステップ452へ進む。
【0038】
図8は、シングル・サインオン・サーバ10によって実行される、管理者用の情報処理端末20からのログイン要求に対するサーバ別のシングル・サインオン用のログイン情報の登録のためのフローチャートの例を示している。
【0039】
図8を参照すると、ステップ422において、ログイン解析部104(またはプロセッサ12)は、受信したログイン要求のウェブ・サーバ30の2つのURLまたはURIを、データベース16のウェブ・サーバ別のログイン情報テーブル(図3、(1)、(2))に格納する。その2つのURLまたはURIは、トップページURLまたはURI、およびログインページURLまたはURIである。次いで、ログイン実行部106(またはプロセッサ12)は、それらのURLを用いてウェブ・サーバ30へログイン要求を送信する。ウェブ・サーバ30(そのプロセッサ)は、ログイン要求に応答して、そのURLに対応するHTMLのログイン入力フォームを表すファイルをログイン実行部106(またはプロセッサ12)に送信し返す。
【0040】
ステップ424において、ログイン実行部106(またはプロセッサ12)は、ウェブ・サーバ30からログイン入力フォームのファイルを受信し、そのファイルを情報処理端末20に転送する。ステップ426において、ログイン解析部104(またはプロセッサ12)は、そのログイン入力フォームのファイルを解析する。ログイン解析部104(またはプロセッサ12)は、可能であれば(Formの場合)、ログイン入力フォームのファイルから認証用の固有情報を抽出してデータベース16のウェブ・サーバ別のログイン情報テーブル(図3、(4))に格納する。その格納される固有情報は、例えば、“input”タグ、“title”タグ、“name”タグ、およびそれらの値、“userID”、“LOG_IN”、“userid”、“passwd”、“submit”、“action”である。認証方式がBasic(ベーシック)の場合は、固有情報は抽出されない。
【0041】
ステップ626において、情報処理端末20(そのウェブ・ブラウザ)は、そのログイン入力フォームのファイルを受信してその表示装置に対応するログイン入力画面を表示する。管理者は、情報処理端末20を操作してログイン入力画面の入力欄に認証情報を含むログイン情報を入力して送信する。
【0042】
図9は、ウェブ・サーバ30のログイン入力用ウェブ・ページを表すログイン入力画面の例を示している。管理者は、図9のログイン入力画面において、可変情報であることを表す、所定形式の仮のログイン情報を入力する。その仮のログイン情報は、仮のユーザID(例えば“$[uid]”)、仮のユーザ・パスワード(例えば“$[password]”)、および仮のその他の情報(例えば“$[key1:workgroup]”)であってもよい。例えば、“$[x]”(xは変数)を有する形式が可変情報を表す仮の情報xであることを表してもよい。この所定形式の仮の情報がログイン入力画面の可変情報の入力欄に入力されてログイン情報のファイルが送信されることによって、ログイン情報中の可変情報としての各種の認証情報の位置が識別でき、シングル・サインオン・サーバ10による可変情報の自動的な抽出が可能になる。換言すれば、仮のユーザ・ログイン情報は、ログイン情報中の各種の可変認証情報を識別しその位置を表すマーカーとして機能する。
【0043】
ステップ628において、情報処理端末20は、ログイン要求用のURLのその入力されたログイン情報のファイルをシングル・サインオン・サーバ10に送信する。ログイン情報のファイルは、認証方式(Form/Basic)等を表す固定情報と、管理者によって入力された可変情報とを含んでいる。
【0044】
ステップ428において、ログイン解析部104(またはプロセッサ12)は、情報処理端末20からその認証情報のファイルを受信する。ステップ430において、ログイン解析部104(またはプロセッサ12)は、ログイン情報のファイルを解析し、その認証方式(Form/Basic)を決定してデータベース16のウェブ・サーバ別のログイン情報テーブル(図3、(3))に格納する。認証方式がBasic(基本認証)の場合には、Basic認証用のヘッダ(Authorization)を含んでいる。ここで、Basic認証方式とは、例えばDigest(ダイジェスト)認証方式を含めたBasic認証方式と同系統の認証方式を含めてBasic認証と称する。また、Form認証方式とは、Form認証と同系統の認証方式をForm認証方式と称する。
【0045】
ステップ432において、ログイン解析部104(またはプロセッサ12)は、その認証方式がBasic(基本認証)かどうかを判定する。認証方式がBasicであると判定された場合は、手順はステップ436に進む。
【0046】
ステップ432において認証方式がBasicでないまたはFormであると判定された場合は、手順はステップ434に進む。ステップ434において、ログイン解析部104(またはプロセッサ12)は、ログイン情報のファイルを解析して、固定情報と可変情報を抽出して、データベース16のウェブ・サーバ別のログイン情報テーブル(図3、6B)に格納する。
【0047】
ログイン解析部104(またはプロセッサ12)は、固定情報として、ログイン情報のファイルからログイン要求用のURLまたはURIを抽出してそのテーブル(図3、(5))に格納する。また、ログイン解析部104(またはプロセッサ12)は、可変情報を表す情報を含む情報として、ログイン情報のファイルからログイン・データ情報を抽出してそのテーブル(図3、(6))に格納する。Form認証方式の場合、ログイン要求用のURIは、例えば “http://sample.fujitsu.com/action.html”である。ログイン・データ情報は、例えば“userid=uid,passwd=password,docID=key1”である。ここで、値“uid”、“password”および“key1”は、ログイン用の仮の可変情報である。
【0048】
ログイン解析部104(またはプロセッサ12)は、可変情報として、ログイン情報のファイルから管理者によって入力された仮のユーザID、仮のユーザ・パスワード、および仮のその他の情報を抽出してそのテーブル(図6B、(1)、(2)、(3))に格納する。仮のユーザIDは、例えば“uid”である。仮のユーザ・パスワードは、例えば“password”である。仮のその他の情報は、例えば“key1、workgroup”である。
【0049】
このように、ログイン解析部104(またはプロセッサ12)は、認証方式に応じて固定情報と可変情報を抽出する。その結果、認証方式に応じて、ユーザまたはその代表IDに対してウェブ・サーバ30〜34の各々に対する送信すべきログイン要求のフォーマットにおけるログイン情報の各項目とその可変情報の配置が識別できる。
【0050】
ステップ436において、ログイン解析部104(またはプロセッサ12)は、情報処理端末20に登録完了を通知する。情報処理端末20は、その通知の受信に応答して、ステップ636において登録完了を表す画面を表示装置に表示する。
【0051】
図10は、シングル・サインオン・サーバ10によって実行される、ユーザ用の情報処理端末22〜24からのログイン要求に対するサーバ別のシングル・サインオン用のログイン情報の登録のためのフローチャートの例を示している。
【0052】
図10を参照すると、ユーザ用の情報処理端末22からのログイン要求(図7)に応答して、ステップ452において、ログイン解析部104(またはプロセッサ12)は、シングル・サインオン・サービス登録のフォームのファイルを情報処理端末22に送信する。ステップ652において、情報処理端末22(そのブラウザ)は、その登録のフォームのファイルを受信して、対応するシングル・サインオン・サービス登録画面をその表示装置に表示する。ユーザは、情報処理端末22を操作して登録画面の入力欄に実際の認証情報を入力して送信する。
【0053】
図11は、シングル・サインオン・サービス登録画面の例を示している。ユーザは、図11の登録画面において、シングル・サインオン・サーバ10に対するユーザ名(例えば“User_1”)、代表ID(例えば“UserID_10”)および代表パスワード(例えば“PWD_10”)を入力する。ユーザは、さらに、ウェブ・サーバ名(例えば“Server_1”)、各ウェブ・サーバに対する実際の可変認証情報として、ユーザID(例えば“User_11”)、ユーザ・パスワード(例えば“PWD_11”)、およびその他の情報(例えば“Info_11”)を入力する。
【0054】
ステップ654において、情報処理端末22は、その入力された登録情報のファイルをシングル・サインオン・サーバ10に送信する。登録情報のファイルは、ユーザによって入力された上述の可変認証情報を含んでいる。
【0055】
ステップ454において、ログイン解析部104(またはプロセッサ12)は、登録情報のファイルを解析して、所定のフォーマットに従って、ユーザの代表ID、代表パスワード、各ウェブ・サーバに対する実際の可変認証情報としてのユーザID、ユーザ・パスワードおよびその他の情報を抽出する。ログイン解析部104(またはプロセッサ12)は、抽出されたユーザの代表IDおよび各ウェブ・サーバに対するユーザIDとユーザ・パスワードをデータベース16のサーバ別ユーザ別の認証情報のテーブル(図4A、(2)、(3))に格納し、その他の情報をサーバ別の可変情報のテーブル(図4B、(3))に格納する。このようなユーザ別の可変情報の抽出によって、ユーザまたはその代表IDについて、ウェブ・サーバ30〜34の各々に対して送信すべきログイン情報における可変情報としての認証情報およびその他の情報が決定される。
【0056】
ステップ456において、ログイン解析部104(またはプロセッサ12)は、情報処理端末22に登録完了を通知する。情報処理端末22は、その通知の受信に応答して、ステップ656において登録完了を表す画面を表示装置に表示する。
【0057】
図10におけるシングル・サインオン・サービス登録画面への入力と登録要求の送信は、例えばサーバ別のデフォルト値のユーザIDおよびユーザ・パスワードのような認証情報を用いて、管理者によって情報処理端末20によって行うこともできる。
【0058】
図12Aおよび12Bは、シングル・サインオン・サーバ10によって実行される、ユーザ用の情報処理端末22〜24からのウェブ・サーバ30へのログイン要求に対するシングル・サインオン処理のためのフローチャートの例を示している。
【0059】
図12Aを参照すると、情報処理端末22からのウェブ・サーバ30へのログイン要求(図7)に応答して、ステップ522において、ログイン実行部106(またはプロセッサ12)は、情報処理端末22に対してシングル・サインオンのための自動ログインCookieとともにログイン入力ファイルを送信する。Cookie(クッキー)は、ユーザの認証およびサイトへのアクセスの記録のファイルである。
【0060】
ステップ662において、情報処理端末22は、ログイン入力ファイルを受信して、それに対応するログイン入力画面をその表示装置に表示する。ユーザは情報処理端末22(ブラウザ)を操作してそのログイン入力画面に自己の代表IDおよび代表パスワードを入力する。情報処理端末22は、代表IDおよび代表パスワードを含むログイン要求をCookieとともにシングル・サインオン・サーバ10に送信する。
【0061】
ステップ524において、ログイン実行部106(またはプロセッサ12)は、ログイン要求およびCookieを受信し、ユーザを再度認証して、リダイレクト要求をCookieとともに情報処理端末22に送信する。そのリダイレクト要求は、情報処理端末22のウェブ・ブラウザに対して、宛先をシングル・サインオン・サーバ10からウェブ・サーバ30へ変更してシングル・サインオンによるログイン要求を送信するよう要求するものである。ステップ666において、情報処理端末22は、ウェブ・サーバ30を宛先とするシングル・サインオンによるログイン要求をCookieとともにシングル・サインオン・サーバ10に送信する。
【0062】
ステップ526において、ログイン実行部106(またはプロセッサ12)は、データベース16中のサーバ別ログイン情報テーブル(図3、5A、5B、(3)から、ウェブ・サーバ30の認証方式を取り出す。ログイン実行部106(またはプロセッサ12)は、必要な場合には、そのサーバ別ログイン情報テーブル(図3、5A、5B、(4)〜(6))から、認証用の固有情報、ログイン要求用のURL、およびログイン・データ情報を取り出す。次いで、ログイン実行部106(またはプロセッサ12)は、サーバ別ユーザ別の認証情報テーブル(図4A、6A、(2)、(3))からウェブ・サーバ30用のユーザIDおよびユーザ・パスワードを取り出す。次いで、ログイン実行部106(またはプロセッサ12)は、データベース16中のサーバ別の可変情報テーブル(図4B、6B、(1)〜(3))からウェブ・サーバ30用の仮のユーザID、仮のユーザ・パスワードおよび仮のその他の情報を取り出す。ログイン実行部106(またはプロセッサ12)は、認証方式のフォーマットに応じてそれらの取り出した情報を編成して、ウェブ・サーバ30に対するログイン要求を生成する。
【0063】
Form認証方式の場合、例えば、ログイン情報(http://sample.fujitsu.com/action.html)において、ユーザID“userid=uid”(図5A、(6))として、可変情報のテーブル(図6B、(1))に基づいて“userid=UserID_11”(図6A、(2)が代入される。その際、仮のユーザIDの代わりに認証情報のテーブルの実際のユーザID(図6A、(2))が代入される。また、例えば、ログイン情報において、ユーザ・パスワード“passwd=password”(図5A、(6))として、可変情報のテーブル(図6B、(2))に基づいて“passwd=PWD_11”(図6A、(3)が代入される。その際、仮のユーザ・パスワードの代わりに認証情報のテーブルの実際のユーザ・パスワード(図6A、(3))が参照される。さらに、例えば、ログイン情報において、その他の情報“docID=key1”(図5A、(6))として、可変情報のテーブル(図6B、(3))を参照して“docID=key1,workgroup”(図6B、(3))が代入される。この場合、仮のその他の情報に代入すべきその他の情報が認証情報に存在しないので、仮の情報が実際の可変情報となる。
【0064】
Basic認証方式の場合、例えば、ログイン情報におけるAuthorizationヘッダの既知の位置に、認証情報として、可変情報のテーブル(図6B、(1)、(2))に基づいて、ユーザID“UserID_11”(図6A、(2))およびユーザ・パスワード“PWD_11”(図6A、(3))がエンコードされて配置される。
【0065】
図12Bを参照すると、ステップ528において、ログイン実行部106(またはプロセッサ12)は、その生成されたログイン要求をウェブ・サーバ30にネットワーク5を介して送信する。ステップ732において、ウェブ・サーバ30は、そのログイン要求を受信し、対応するURL情報を送信する。ログイン認証に成功した場合には、ウェブ・サーバ30は、それに応答して対応する例えば情報コンテンツのようなURL情報をシングル・サインオン・サーバ10に送信する。ログイン認証に失敗した場合には、ウェブ・サーバ30は、ログイン・エラーを表し再ログインを指示するために、ログイン入力フォームのファイルをシングル・サインオン・サーバ10に送信する。
【0066】
ステップ532において、ログイン実行部106(またはプロセッサ12)は、そのURL情報のファイルを受信する。ステップ534において、ログイン実行部106(またはプロセッサ12)は、データベース16中の認証用の固有情報または認証方式(Basic)(図3、(4)、(3))を参照して、受信したURL情報がログイン入力フォームを表すかどうかを判定する。認証方式がBasicの場合には、ログイン入力フォームのファイルにBasic認証用ヘッダ(Authorization)が含まれている。認証方式がFormの場合には、ログイン入力フォームに認証用の固有情報が含まれている。そのURL情報がログイン入力フォームを表さないと判定された場合は、ログイン実行部106(またはプロセッサ12)は、そのURL情報のファイルを情報処理端末22に転送する。このようにして、シングル・サインオン・サーバ10によって、情報処理端末22〜24に対してシングル・サインオン・サービスが提供される。その後、通常の形態で情報処理端末22とウェブ・サーバ30の間でURL情報の送受信が行われる。
【0067】
ステップ534においてURL情報がログイン入力フォームを表すと判定された場合はステップ536において、ログイン実行部106(またはプロセッサ12)は、ログイン入力フォームのファイルをN回以上受信したかどうかを判定する。ここで、Nは予め定義された固定値である。それをN回以上受信していないと判定された場合は、手順はステップ528に戻る。ステップ528において、ウェブ・サーバ30に対して再びログインが試行される。そのファイルをN回以上受信したと判定された場合は、ステップ538において、ログイン実行部106(またはプロセッサ12)は、ログイン・エラーの通知を情報処理端末22に送信する。ステップ668において、情報処理端末22は、その表示装置にログインのエラーを表示する。
【0068】
ここで挙げた全ての例および条件的表現は、発明者が技術促進に貢献した発明および概念を読者が理解するのを助けるためのものであり、ここで具体的に挙げたそのような例および条件に限定することなく解釈されるものである。また、明細書におけるそのような例の編成は本発明の優劣を示すこととは関係ない。本発明の実施形態を詳細に説明したが、本発明の精神および範囲から逸脱することなく、それに対して種々の変更、置換および変形を施すことができる。
【0069】
以上の実施例を含む実施形態に関して、さらに以下の付記を開示する。
(付記1) クライアントのサーバへのシングル・サインオンによるログインを実現するサーバ装置であって、
記憶装置と、
前記クライアントから受信した前記サーバに対するログイン情報を解析して、前記サーバの認証方式を判定し、さらに前記ログイン情報から可変情報であることを表す所定形式の仮の認証情報を抽出して、前記認証方式の情報と前記可変情報としての前記仮の認証情報とを前記記憶装置に格納し、ユーザの代表認証情報に対する前記サーバ用の前記ユーザの認証情報を前記可変情報として前記記憶装置に格納する解析部と、
を具えるサーバ装置。
(付記2) さらに、別のクライアントから前記代表認証情報による認証によって前記サーバへのログイン要求を受信した場合に、前記記憶装置から前記認証方式の情報、前記可変情報としての前記仮の認証情報、および前記ユーザの認証情報を取り出し、前記認証方式に従って前記可変情報として前記ユーザの認証情報を用いて前記サーバに対するログイン要求を生成するログイン実行部を具える、付記1に記載のサーバ装置。
(付記3) 前記解析部は、前記代表認証情報に対する前記サーバ用の前記ユーザの認証情報を、別のクライアントから受信した認証情報登録要求から抽出するものであることを特徴とする、付記1または2に記載のサーバ装置。
(付記4) 前記解析部は、さらに前記ログイン情報から固定情報を抽出して前記記憶装置に格納し、
前記ログイン実行部は、前記記憶装置から前記固定情報を取り出して、前記認証方式に従って前記固定情報と前記可変情報としての前記ユーザの認証情報とを用いて前記サーバに対するログイン要求を生成するものであることを特徴とする、付記2に記載のサーバ装置。
(付記5) 前記解析部は、前記認証情報登録要求を受信する前に、ユーザの代表認証情報に対する任意のサーバへのログイン用の認証情報を入力するための登録画面を表す情報を前記別のクライアントに送信するものであることを特徴とする、請求項3に記載のサーバ装置。
(付記6) 前記解析部は、前記ログイン情報を受信する前に、前記サーバから受信したログイン画面を表す情報を前記別のサーバへ転送し、前記ログイン画面を表す情報を解析して、前記ログイン画面を表す情報に認証用の固有情報が存在する場合にはその認証用の固有情報を抽出して前記記憶装置に格納するものであることを特徴とする、付記1乃至5のいずれかに記載のサーバ装置。
(付記7) 記憶装置を有するサーバ装置用の、クライアントのサーバへのシングル・サインオンによるログインを実現するためのプログラムであって、
前記クライアントから受信した前記サーバに対するログイン情報を解析して、前記サーバの認証方式を判定し、さらに前記ログイン情報から可変情報であることを表す所定形式の仮の認証情報を抽出して、前記認証方式の情報と前記可変情報としての前記仮の認証情報とを前記記憶装置に格納するステップと、
ユーザの代表認証情報に対する前記サーバ用の前記ユーザの認証情報を前記可変情報として前記記憶装置に格納するステップと、
を前記サーバ装置に実行させるためのプログラム。
【符号の説明】
【0070】
5 ネットワーク
10 シングル・サインオン・サーバ
14 記憶装置
16 データベース
20 管理者用の情報処理端末(クライアント)
22、24 ユーザ用の情報処理端末(クライアント)
30、32、34 ウェブ・サーバ

【特許請求の範囲】
【請求項1】
クライアントのサーバへのシングル・サインオンによるログインを実現するサーバ装置であって、
記憶装置と、
前記クライアントから受信した前記サーバに対するログイン情報を解析して、前記サーバの認証方式を判定し、さらに前記ログイン情報から可変情報であることを表す所定形式の認証情報を抽出して、前記認証方式の情報と前記可変情報としての前記仮の認証情報とを前記記憶装置に格納し、ユーザの代表認証情報に対する前記サーバ用の前記ユーザの認証情報を前記可変情報として前記記憶装置に格納する解析部と、
を具えるサーバ装置。
【請求項2】
さらに、別のクライアントから前記代表認証情報による認証によって前記サーバへのログイン要求を受信した場合に、前記記憶装置から前記認証方式の情報、前記可変情報としての前記仮の認証情報、および前記ユーザの認証情報を取り出し、前記認証方式に従って前記可変情報として前記ユーザの認証情報を用いて前記サーバに対するログイン要求を生成するログイン実行部を具える、請求項1に記載のサーバ装置。
【請求項3】
前記解析部は、前記代表認証情報に対する前記サーバ用の前記ユーザの認証情報を別のクライアントから受信するものであることを特徴とする、請求項1または2に記載のサーバ装置。
【請求項4】
前記解析部は、さらに前記ログイン情報から固定情報を抽出して前記記憶装置に格納し、
前記ログイン実行部は、前記記憶装置から前記固定情報を取り出して、前記認証方式に従って前記固定情報と前記可変情報としての前記ユーザの認証情報とを用いて前記サーバに対するログイン要求を生成するものであることを特徴とする、請求項2に記載のサーバ装置。
【請求項5】
記憶装置を有するサーバ装置用の、クライアントのサーバへのシングル・サインオンによるログインを実現するためのプログラムであって、
前記クライアントから受信した前記サーバに対するログイン情報を解析して、前記サーバの認証方式を判定し、さらに前記ログイン情報から可変情報であることを表す所定形式の仮の認証情報を抽出して、前記認証方式の情報と前記可変情報としての前記仮の認証情報とを前記記憶装置に格納するステップと、
ユーザの代表認証情報に対する前記サーバ用の前記ユーザの認証情報を前記可変情報として前記記憶装置に格納するステップと、
を前記サーバ装置に実行させるためのプログラム。

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

【図12A】
image rotate

【図12B】
image rotate


【公開番号】特開2011−197874(P2011−197874A)
【公開日】平成23年10月6日(2011.10.6)
【国際特許分類】
【出願番号】特願2010−62292(P2010−62292)
【出願日】平成22年3月18日(2010.3.18)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】