JP4615247B2 - コンピュータシステム - Google Patents

コンピュータシステム Download PDF

Info

Publication number
JP4615247B2
JP4615247B2 JP2004138834A JP2004138834A JP4615247B2 JP 4615247 B2 JP4615247 B2 JP 4615247B2 JP 2004138834 A JP2004138834 A JP 2004138834A JP 2004138834 A JP2004138834 A JP 2004138834A JP 4615247 B2 JP4615247 B2 JP 4615247B2
Authority
JP
Japan
Prior art keywords
server
client
window
session
authentication information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004138834A
Other languages
English (en)
Other versions
JP2005321970A (ja
JP2005321970A5 (ja
Inventor
克朗 菊地
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004138834A priority Critical patent/JP4615247B2/ja
Publication of JP2005321970A publication Critical patent/JP2005321970A/ja
Publication of JP2005321970A5 publication Critical patent/JP2005321970A5/ja
Application granted granted Critical
Publication of JP4615247B2 publication Critical patent/JP4615247B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、クライアントからのログインに基づき機能するサーバを有するコンピュータシステムに関し、Webアプリケーションに自動的にログインする技術に関する。
企業内の情報システムは、従来のクライアントサーバ型システムからWeb(World Wide Web)技術を基盤とした3階層システムに移行しつつある。これまでに様々な業務がWebアプリケーション化され、業務効率の向上が図られてきている。しかしその一方で、企業内に多数の情報システムが業務ごとに存在する結果となり、ユーザは日常業務遂行のためこれらのシステムを巡回し、それぞれのシステムにログインするなど煩雑な操作を強いられている。この問題を解決するためにシングルサインオン技術が注目されている。シングルサインオンとは、認証を必要とする複数のシステムを利用する際に、一度だけログイン操作を行い認証を受けるのみで、全てのシステムを利用できるようにするログイン方式である。
シングルサインオン技術としては、クライアントが複数のWebサーバに自動ログインするためのポータルサーバを備え、ポータルサーバは、クライアントからアクセス要求があった場合、ユーザ認証処理を行い、このユーザ認証の結果、ログインを許可したユーザIDを基に、当該クライアントがよく利用するシステムのログイン情報を取り出し、Webサーバへのログインを代行する技術が知られている。(例えば、特許文献1参照。)。
また、Webサイトにおいて、Webサイトからクライアント側の末端に提供する情報として、クライアントのログインID及びパスワードからなる認証情報等を入力するためのサインアップ画面並びにWebサーバ内の所在を示すURL情報にサインアップ画面で入力された任所情報を含ませたURL情報を設定したブックマーク登録画面を用意して、クライアント側の末端に提供し、自動ログインを実現する技術が知られている(例えば、特許文献2参照。)。
また、ログイン代行システムがクライアントと複数のアプリケーションサーバに接続されたログイン要求に応答して、当該ユーザの当該アプリケーションに対する認証情報を含むログイン要求を生成して当該ユーザに代わってログインし、当該アプリケーションから返信されるレスポンスの内容を、当該クライアントが当該アプリケーションサーバから直接受け取った場合と同様に機能するように変換して、当該クライアントへ返信する技術が知られている(例えば、特許文献3参照)。
特開2003−141081号公報 特開2002−41380号公報 特開2002−334056号公報
前述した従来技術によると、基本的にバックエンドサーバを改変が必要であり、シングルサインオン実現のための構築期間や構築コストが大きくなる傾向がある。ITシステムの構築には、構築期間の短縮と費用対効果が求められており、これらの製品では、本要求の達成が難しい場合がある。
また、バックエンドサーバの改変が不要な特許文献3の方法によるシングルサインオンにおいても、代行サーバの計算機リソースに対する負荷が大きくなったり、JavaScript(登録商標)などクライアント側でURLを作成する場合に、URL変換が困難であったりと実現性に問題がある。また、URL変換を実現しても、リクエストURL中にユーザID及びパスワードを埋め込む方法は、セキュリティ上の問題も残る。
本発明は、バックエンドサーバを改変することなく自動ログインを実現し、シングルサインオン環境が実現することを目的とする。
本発明は、クライアントに対するサービスの窓口となる窓口サーバと、前記クライアントにサービスを提供する一つ以上のバックエンドサーバと、前記バックエンドサーバへのアクセスを中継する中継サーバと、を含むコンピュータシステムにおいて、前記窓口サーバは、第1認証情報に基づいて前記クライアントに対する認証を行い、セッションを確立する第1セッション確立手段と、前記バックエンドサーバへのアクセスを当該窓口サーバに対して要求するリンクを含む画面を当該クライアントに送信する画面送信手段と、前記確立したセッションを維持しつつ、前記クライアントから前記バックエンドサーバへのアクセス要求を受け付けるアクセス要求受付手段と、前記クライアントから取得した前記第1認証情報に基づいて前記バックエンドサーバに対する前記クライアントの第2認証情報を取得する第2認証情報取得手段と、当該クライアントに対して前記中継サーバとのセッションを確立させる第2セッション確立手段と、を備え、当該中継サーバは、当該クライアントとのセッションを維持しつつ、当該クライアントから前記バックエンドサーバへのアクセス要求に前記窓口サーバが取得した第2認証情報を付加して、前記バックエンドサーバへアクセスを要求するアクセス要求手段を備え、前記バックエンドサーバは、前記第2認証情報によって認証を行った後、前記クライアントから要求されたコンテンツを前記中継サーバに送信するコンテンツ送信手段を備え、前記中継サーバは、前記バックエンドサーバからコンテンツを受信すると、当該コンテンツを前記クライアントに送信するコンテンツ中継手段を備えることを特徴とするコンピュータシステム。
本発明によればバックエンドサーバを改変することなく自動ログインを実現できる。これにより低コストでのシングルサインオン環境が実現できる。
以下、本発明の実施の形態を図面を参照して説明する。
(第1の実施形態)
まず、第1の実施形態として、バックエンドサーバのWebアプリケーションがBasic認証を用いる場合について説明する。
図1は、本発明の第1の実施形態のコンピュータシステムのシステム構成図である。
クライアント100、窓口サーバ101、中継サーバ104、バックエンドサーバ1(106)及びバックエンドサーバ2(107)は、制御装置(CPU)、メモリ、入出力装置及びネットワークインターフェイスを有し、制御装置(CPU)がメモリに記憶されたプログラムを実行することによって演算処理を行うコンピュータ装置である。クライアント100、窓口サーバ101、中継サーバ104、バックエンドサーバ1(106)及びバックエンドサーバ2(107)は、ネットワーク108によって接続されており、これらのコンピュータ装置間でデータや制御情報等が通信可能となっている。
窓口サーバ101及び中継サーバ104は、クライアント100に対してバックエンドサーバ106、107への自動ログインを提供する。但し、クライアント100からバックエンドサーバ1(106)及びバックエンドサーバ2(107)へのアクセスは、プロキシの設定によって、中継サーバ104を経由する。図1の例ではバックエンドサーバ106等は2つだが、多数のバックエンドサーバが設けられた場合には、クライアント100は多数のバックエンドサーバへの自動ログインが可能である。
窓口サーバ101には、クライアント100の窓口サーバへの認証情報が格納されたユーザ管理テーブル102(図3(a))、及びクライアント100のバックエンドサーバ106等の認証情報が格納されたマッピングテーブル103(図3(b))が設けられている。但し、窓口サーバ101がユーザ管理テーブル102及びマッピングテーブル103にアクセス可能であれば、ユーザ管理テーブル102及びマッピングテーブル103は窓口サーバ101の外部に設けられてもよい。
中継サーバ104には、バックエンドサーバ106等への自動ログインを行うための認証情報を格納する認証情報テーブル105(図3(c))が設けられている。但し、中継サーバ104が認証情報テーブル105にアクセス可能であれば、認証情報テーブル105は中継サーバ104の外部に設けられていてもよい。
図2は、第1の実施形態のタイミングチャートであり、バックエンドサーバ106等がBasic認証を用いる場合を示す。
クライアント100がバックエンドサーバ1(106)に自動ログインする場合には、まず、窓口サーバ101にログインする必要がある(200)。具体的には、ユーザが入力した窓口ユーザID及び窓口パスワードを、クライアント100のブラウザがログイン要求に含めて窓口サーバ101に送信する。クライアント100からのログイン要求を受け取った窓口サーバ101は、ログイン要求に含められた窓口ユーザID及び窓口パスワードと、ユーザ管理テーブル102に記録された窓口ユーザID300と窓口パスワード301の照合を行うことによって認証を行う(201)。ここで窓口サーバの認証方法は、Form認証やBasic認証等Webアプリケーションにおいて用いられる任意の認証方法でよい。
ユーザ認証(201)が成功したら、クライアント100に窓口セッションID302を送信することによって、クライアント100と窓口サーバ101のセッションを確立する(202)。以後、クライアント100からのアクセスに、この窓口セッションID302を含めることによってセッションを有効にする。以降のこのセッションが有効な期間では、クライアント100は自動ログイン対象のバックエンドサーバ106等への自動ログインが可能である。セッションが有効な期間とは、クライアント100が窓口サーバ101からログアウトする、又はタイムアウトするまでである。
このセッション確立時(202)に、窓口サーバ101は、自動ログイン用画面400(図4)をクライアント100に送信する。
クライアント100が自動ログイン用画面400を受信し、ユーザがバックエンドサーバ1(106)へのアクセスを希望し、自動ログイン用画面400(図4)でバックエンドサーバ1(106)へのログインを選択すると、クライアント100から窓口サーバ101に対してバックエンドサーバ1(106)へのアクセスが要求される(203)。
すると窓口サーバ101は、本セッション(202)に対応する窓口ユーザID300を取り出し、マッピングテーブル103から窓口ユーザID300に対応したバックエンドサーバ1(106)のユーザID304及びパスワード305を取得する。
次いで、窓口サーバ101は、クライアント100と中継サーバ104とのセッションを維持するために、SSOセッションID308を発行する(205)。SSOセッションID308は、乱数を用いて発行することが考えられる。
更に、窓口サーバ101は、バックエンドサーバ1(106)のユーザID304及びパスワード305に基づいて、Basic認証に必要な認証情報(ユーザIDとパスワードの間にコロン記号を入れ、全体文字列をBase64で符号化した記号列)を作成し、SSOセッションID308と組みにして中継サーバ104の認証情報テーブル105に設定する(206)。
次いで、窓口サーバ106は、SSOセッションID308を設定させるため、HTTPのリダイレクト要求(図5の500)をクライアント100に送信する(207)。
バックエンドサーバ1(106)へのHTTPリダイレクト要求を受け取ったクライアント100は、SSOセッションID308の設定を要求するために、バックエンドサーバ1(106)にSSOセッションID308を含めたアクセスを試みるが(図5の501)、予め、バックエンドサーバ1(106)にアクセスするときには中継サーバ(104)を経由するプロキシ設定がなされているので、クライアント100は中継サーバ104にアクセスすることになる(208)。
クライアント100からのアクセス要求を受け取った中継サーバ104は、URL(図5の501)からSSOセッションID308を取り出す。更に中継サーバ104は、取り出したSSOセッションID308をクライアント100のCookieに設定させ、バックエンドサーバ1(106)へのリダイレクトさせる要求(図5の502)をクライアント100に送信する(209)。
中継サーバ104からのリダイレクト要求を受け取ったクライアント100は、SSOセッションID308をCookieに設定し、バックエンドサーバ1(106)へアクセスしようとする(図5の503)が、プロキシの設定によって、中継サーバ104にアクセスする(210)。クライアント100は、Cookieの設定によってSSOセッションID308を含んで中継サーバ105にアクセスする。
アクセスを受けた中継サーバ104は、認証情報テーブル105を参照して、SSOセッションID308に対応するバックエンドサーバ1(106)の認証情報309を取り出し、その認証情報309をクライアント100からのアクセス要求のHTTPヘッダへ付加し、バックエンドサーバ1(106)へアクセス要求を行う(212)。
アクセス要求を受け取ったバックエンドサーバ1(106)は、HTTPヘッダに付加された認証情報とバックエンドサーバ1(106)に記録された認証情報を照合してBasic認証を行う。認証が成功したら、コンテンツを中継サーバ104に送信する(213)。
バックエンドサーバ1(106)からコンテンツを受け取った中継サーバ104はクライアント100にコンテンツを転送する。そして、クライアント100が中継サーバ104から、バックエンドサーバ1(106)が送信したコンテンツを受け取る。
以上の処理によって、バックエンドサーバ1(106)がBasic認証の場合の自動ログインが実現できる。以降、バックエンドサーバ1(106)にアクセス要求するときは、210から214が繰り返される。
なお、本実施形態では、窓口サーバ101と中継サーバ104は別サーバとして説明したが、同一のサーバ(同一のプログラム)として実現することも可能である。このような構成の場合、クライアント100と中継サーバ104との間で確立させるSSOセッション(209)を、クライアント100と窓口サーバ101との間で確立されているセッション(202)で代用することも可能である。セッションを代用する場合、SSOセッションID発行(205)で発行されるSSOセッションID308は、クライアント100と窓口サーバ101で確立されているセッション(202)の窓口セッションID302で代用することになる。よって、クライアント100と中継サーバ104との間でセッションを確立するための処理ステップ207〜209は不要となる。代わりに、クライアント100にバックエンドサーバ1(106)に対してアクセス要求を行わせるため、窓口サーバ101は、クライアント100にHTTPリダイレクト要求を送信する。
以上によって、自動ログインが実現できる。
図3(a)は、ユーザ管理テーブル102の一例である。ユーザ管理テーブル102には、窓口ユーザID300に対応して、窓口パスワード301及び窓口セッションID302が格納されている。窓口ユーザID300及び窓口パスワード301は、クライアント100の窓口サーバ101へのログイン時において、クライアント100が送信した認証情報と照合される。本実施形態のユーザテーブル102では、窓口サーバ101とクライアント100とのセッション維持のための窓口セッションID302も格納している。
図3(b)は、マッピングテーブル103の一例である。マッピングテーブル103には、窓口ユーザID303に対応して、バックエンドサーバ1(106)のユーザID304及びパスワード305、並びにバックエンドサーバ2(107)のユーザID306及びパスワード307を格納されている。バックエンドサーバ1(106)のユーザID304及びパスワード305とは、バックエンドサーバ1(106)へのアクセス時にバックエンドサーバ1(106)が予め記憶されている認証情報と照合される認証情報である。バックエンドサーバ2(107)に関しても同様である。
なお、マッピングテーブル103は、ユーザーインターフェイス(図6)を用いて画面からバックエンドサーバ106等の認証情報を入力させることによって、クライアント100に設定させてもよいし、管理者が一括で設定してもよい。
図3(c)は、認証情報テーブル105の構成の一例である。認証情報テーブル105には、SSOセッションID308に対応して、符号化された認証情報309が格納されている。
図4は、自動ログイン用画面400の一例である。自動ログイン用画面400には、バックエンドサーバ1(106)へのリンク402及びバックエンドサーバ2(107)へのリンク403が含まれ、バックエンドサーバ1(106)へのリンク先は401のように記載される。ユーザがバックエンドサーバ1(106)へのアクセスを要求する場合には、リンク402を選択することにより、自動ログインが実現される。
自動ログイン用のリンク先は、401に示すように窓口サーバ101の自動ログイン要求用URLに、自動ログイン先を格納したパラメータを付加して形成される。但し、自動ログイン先をURL中に付加する方法としては、自動ログイン先をURLの401以外のパス中に含めたり、HTTPのPOSTメソッドを使って自動ログイン先をPOSTして実現してもよい。すなわち、POSTメソッドによると、リクエストに続く本体(エンティティ)に送信したいデータ(自動ログイン先)を含めることができる。
図6は、マッピングテーブル103をクライアント100に設定させる場合のユーザーインターフェイスの一例である。バックエンドサーバ1(106)及びバックエンドサーバ2(107)の認証情報をユーザに入力させる画面を表示し、ユーザが認証情報の入力後に入力完了を指示(「OK」をクリック)すると、マッピングテーブル103に窓口ユーザID303に対応した認証情報が登録される。
図7は、自動ログイン及び直接ログインを併用した場合の実施形態のシステム構成図である。
前述したBasic認証の自動ログインと平行して、直接ログインしてバックエンドサーバ1(106)を利用したい場合には、自動ログイン用のサブドメインを作成し、自動ログイン時のみ中継サーバ104を経由するよう、ブラウザのプロキシ設定を変更するとよい。
具体的には、バックエンドシステム1(106)には、通常のログイン用とは異なる自動ログイン用のサブドメインssodomainを設けている。また、バックエンドシステム1(106)には、通常ログイン用のサブドメインanydomainも設けている。クライアント100のプロキシは、ssodomainにアクセスするときには、ssogateway.ssodomain(中継サーバ104)をアクセスするように設定されている(702)。
自動ログイン時には、ssodomainにアクセス要求することによって、中継サーバ104を経由させ(701)、直接ログイン時には、anydomainにアクセス要求することによって、中継サーバ104を経由することなく(700)バックエンドサーバ1(106)にアクセスできる。
直接ログインと自動ログインを併用することによって、不要なアクセス要求が中継サーバ104を経由せずにすむため、中継サーバ104の負荷を軽減することができる。
また、前述した実施形態では、中継サーバ104はバックエンドサーバ1(106)及びバックエンドサーバ2(107)と別に設けられており、Basic認証用ヘッダをアクセス要求に付加することで、Basic認証を行い自動ログインを実現しているが、中継サーバ104をそれぞれのバックエンドサーバ106等を構成するWebサーバの拡張機能を利用して実現することも可能である。
具体的には、クライアント100からのアクセス要求をバックエンドサーバ1(106)のプログラムが受信する前に、Webサーバ内で取得させ、取得したアクセス要求にBasic認証用ヘッダを付加し、バックエンドサーバ1(106)のプログラムに送信することによって、自動ログインを実現する。マイクロソフト社のIIS(Internet Information Server / Internet Information Service)の場合はISAPIインターフェイス、Apache Software FoundationのApache WebサーバのApache APIを利用することで実現可能である。
以上説明したように第1の実施形態によると、バックエンドサーバ106等がBasic認証を用いる場合に自動ログインを実現することができる。
すなわち、Basic認証では、クライアントがバックエンドサーバにアクセス要求をすると、バックエンドサーバはクライアントに対して、ユーザID及びパスワードの認証情報を要求する。クライアントは、ユーザが入力したユーザID及びパスワードをBase64で符号化したBasic認証用ヘッダを付加して、バックエンドサーバにアクセス要求を行う。アクセス要求を受けたバックエンドサーバは、送信されたBasic認証用ヘッダとバックエンドサーバに記憶されているユーザID及びパスワードを照合することによって認証を行っている。
このようなBasic認証において、クライアントは、バックエンドサーバに対する全てのアクセス要求毎にBasic認証用ヘッダをHTTPヘッダに付加する必要がある。しかし通常は、ブラウザが、クライアントからの最初のアクセス要求時に、取得したユーザID及びパスワードをブラウザの内部に保存し、バックエンドサーバへのアクセス要求毎に、自動的にBasic認証用ヘッダを、リクエストのHTTPヘッダに付加することによって実現している。なお、Microsoft社のInternet ExploreやNetscape CommunicationsのNetscape Navigatorなど一般的なブラウザは、Basic認証用のユーザID及びパスワードを外部からブラウザに設定することは不可能である。
そこで、第1の実施形態では、クライアント100からバックエンドサーバ1(106)へのアクセス要求時のHTTPリクエストを直接送信しないで、中継サーバ104を経由させ、中継サーバ104がBasic認証用ヘッダをHTTPヘッダに付加することによって、Basic認証のシングルサインオンを実現している。
(第2の実施形態)
次に、本発明の第2の実施形態として、バックエンドサーバのWebアプリケーションがForm認証を用いる場合について説明する。
図8は、本発明の第2の実施形態のコンピュータシステムのシステム構成図である。
第2の実施形態では、前述した第1の実施形態と異なり、中継サーバ104及び認証情報テーブル105は設けられていない。それ以外の構成は、第1の実施形態と同一である。なお、第1の実施形態と同じ構成は同じ符号を付し、その説明は省略する。
図9は、第2の実施形態のタイミングチャートであり、バックエンドサーバ106等がForm認証を用いる場合を示す。
クライアント100がバックエンドサーバ1(106)に自動ログインする場合の最初のステップは、前述した第1の実施形態の200から204と同様である。
窓口サーバ101が、バックエンドサーバ1(106)のユーザID304及びパスワード305を取得したら(204)、窓口サーバ101はバックエンドサーバ1(106)にログインを行う(900)。このログインは、通常のForm認証のログインと同様であり、バックエンドサーバ1(106)がPOSTメソッドを要求している場合には、窓口サーバ101は、バックエンドサーバ1(106)のユーザID304及びパスワード305をPOSTする(リクエストに続く本体(エンティティ)に送信したいデータ(ユーザID304及びパスワード305)を含めて送信する)。また、バックエンドサーバ1(106)がGETメソッドを要求している場合には、バックエンドサーバ1(106)のユーザID304及びパスワード305をGETする(URLにユーザID304及びパスワード305をクエリとして含めて送信する)。
なお、Form認証を行う際に、予め特定のページにアクセスしてセッションIDを取得するなど前処理が必要な場合には、窓口サーバ101が前処理を行ってもよい。また認証方法は、ユーザID304及びパスワード305以外の任意の情報を使った認証方法でもよい。
ログイン要求を受け取ったバックエンドサーバ1(106)は、ログイン要求からユーザID304及びパスワード305を取得する。バックエンドサーバ1(106)は、取得したユーザID304及びパスワード305を予め記憶されているユーザID及びパスワードと照合することによって、バックエンドユーザ認証を行う(901)。バックエンドサーバ1(106)は、認証が成功したら、バックエンドセッションIDを発行し、窓口サーバ101にログイン後画面とバックエンドセッションIDを送信する(902)。
応答を受けた窓口サーバ101は、応答からバックエンドセッションIDを取得して、クライアント100への引継ぎ処理を行う。
引継ぎ処理は、バックエンドサーバ1(106)のセッショントラッキング方式により異なる。セッショントラッキング方式とは、セッションの概念がないHTTPにおいて、セッションを維持する方式であり、Cookie方式とURL書き換え方式がある。Cookie方式は、クライアント100のCookieにバックエンドセッションIDを設定し、クライアント100がバックエンドサーバ1(106)へのアクセスにCookieを含めることによって、セッションを維持する方式である。URL書き換え方式は、バックエンドサーバ1(106)の応答コンテンツ中のURLにバックエンドセッションIDを埋め込んでアクセスすることによって、セッションを維持する方式である。以下、それぞれのセッショントラッキング方式について自動ログイン方法を順に説明する。
まず、バックエンドサーバ1(106)のセッショントラッキング方式がCookie方式の場合を説明する。
バックエンドセッションIDを発行したバックエンドサーバ1(106)は、図10の1000に示すように、HTTP応答ヘッダにCookieを設定してセッションIDを窓口サーバ101に送信する(902)。
応答を受け取った窓口サーバ101は、HTTPの応答ヘッダからバックエンドセッションIDを取得する(903)。次いで、窓口サーバ101は、クライアント100にセッションID引継ぎ用リダイレクト応答(図10の1001)を送信する(904)。セッションID引継ぎ用リダイレクト応答によって、クライアント100は、バックエンドセッションIDをdomain指定を利用したCookieに設定する(ssodomainサブドメインのサーバに対してsessionid=xvzのCookieを設定する)。更にクライアント100は、バックエンドサーバ1(106)にアクセスする。Cookieのdomain指定によって、クライアント100が、指定されたドメイン(ssodomainサブドメイン)にアクセスするときに、設定されたCookie(sessionid=xvz)をアクセス要求に含めてアクセスを行う。
domain指定を利用すること並びに窓口サーバ101及びバックエンドサーバ1(106)を同一のサブドメインに配置することによって、窓口サーバ101からバックエンドセッションID設定のリダイレクト要求を受けたクライアント100が、バックエンドサーバ1(106)に対しても同一のバックエンドセッションIDを設定し、セッションを維持することができる。
このため、Cookie方式の場合には、窓口サーバ101とバックエンドサーバ1(106)を同一のサブドメインに配置する。本実施形態ではssodomainに両サーバを配置している。窓口サーバ101は、サブドメインがssodomainのサーバに対して、sessionid=xyzのCookieをクライアント100に設定させるリダイレクト要求を送信している(図10の1001)。
窓口サーバ106からリダイレクト要求を受け取ったクライアント100は、前記のCookieの設定によって、バックエンドサーバ1(106)のバックエンドセッションIDを含めて(図10の1002)、バックエンドサーバ1(106)へアクセスを要求する(905)。アクセスを受けたバックエンドサーバ1(106)は、クライアント100のアクセス要求からバックエンドセッションIDを取り出し、バックエンドセッションIDに対応する処理を行う。
以降、クライアント100はCookieを含むアクセスをバックエンドサーバ1(106)に直接行う。
以上の処理によって、バックエンドサーバ1(106)がForm認証の場合の自動ログインを実現することができる。
次に、バックエンドサーバ1(106)のセッショントラッキング方式がURL書き換え方式の場合について説明する。
Cookie方式との相違点は図9の902以降である。URL書き換え方式の場合、バックエンドサーバ1(106)は、バックエンドセッションIDが含まれた応答コンテンツ(図11の1100)を窓口サーバ101に送信する(902)。
応答コンテンツを受け取った窓口サーバ101は、応答コンテンツからバックエンドセッションIDを取得する(903)。
次いで、窓口サーバ101は、クライアント100へセッションID引継ぎ用リダイレクトを送信する(904)。セッションID引継ぎ用リダイレクトは、クライアント100をバックエンドサーバ1(106)へアクセスさせるURL中に、取得したバックエンドセッションIDを埋め込んである(図11の1101)。
リダイレクト要求を受け取ったクライアント100は、バックエンドサーバ1(106)にバックエンドセッションIDを含んだURL(図11の1102)によってアクセスする(905)。
アクセス要求を受けたバックエンドサーバ1(106)は、クライアント100のアクセス要求からバックエンドセッションIDを取り出し、バックエンドセッションIDに対応する処理を行う。
以上の処理によって、バックエンドサーバ1(106)がForm認証の場合の自動ログインを実現することができる。
なお、URL書き換え方式の場合には、Cookie方式のように、窓口サーバ101とバックエンドサーバ1(106)を同一サブドメインにおく必要はない。
(第3の実施形態)
次に、本発明の第3の実施形態として、バックエンドサーバのWebアプリケーションがForm認証を用いている場合の別の実施形態を説明する。
第3の実施形態のシステム構成は、前述した第2実施形態(図8)と同様の構成である。
図12は、第3の実施形態のタイミングチャートであり、バックエンドサーバ106等がForm認証を用いている場合を示す。なお、本実施形態では、バックエンドサーバのセッショントラッキング方式がCookie方式又はURL書き換え方式のいずれでも適用できる。
クライアント100がバックエンドサーバ1(106)に自動ログインする場合の最初のステップは、前述した第1の実施形態の200から204と同様である。
窓口サーバ101が、バックエンドサーバ1(106)のユーザID304及びパスワード305を取得したら(204)、取得したバックエンドサーバ1(106)のユーザID304及びパスワード305をログイン用フォームに埋め込み、埋め込んだログイン用フォームを、クライアント100に送信する(1200)。ログイン用フォームは、クライアント100がバックエンドサーバ1(106)にログイン要求するURL並びにアクセスするバックエンドサーバ106等のユーザID304等及びパスワード305等を埋め込む場所を含んでいる。更にバックエンドサーバ106等のユーザID304等及びパスワード305等が記載されるinput typeをhidden属性とすること及び応答HTML読み込み時にフォームをサブミットするようになっている(図13の1300)。input typeをhidden属性とすることによって、HTML読み込み時にバックエンドサーバ1(106)のユーザID304及びパスワード305がクライアント100の画面に表示されない。また、onloadイベントのハンドラスクリプトを使うことによって、応答HTML読み込み時にフォームをサブミットするので、応答HTMLの読み込み完了と同時に、クライアント100はバックエンドサーバ1(106)のユーザID304及びパスワード305を含んだログイン用フォーム(図13の1301)をバックエンドサーバ1(106)に送信する(1201)。
そして、バックエンドサーバ1(106)が、クライアント100から送信された認証情報とバックエンドサーバに記憶されている認証情報を照合し、認証が成功すると、クライアント100はバックエンドサーバ1(106)へログインを行うことができる。
以上の処理によって、バックエンドサーバ1(106)がForm認証の場合の自動ログインを実現することができる。
(第4の実施形態)
次に、本発明の第4の実施形態として、サマリ機能付きの自動ログインについて説明する。
図14の1400は、サマリ機能付き自動ログインの自動ログイン画面(サマリ画面)の一例である。サマリ機能とは、自動ログイン画面をサマリ情報(要約情報)を含む表示として、ユーザが、サマリ情報からバックエンドサーバ106等のアクセスしたいコンテンツを直接選択し、アクセスすることができる機能である。サマリ画面1400は、バックエンドサーバ1(106)の「PC貸し出し依頼」(1401)及び「旅費精算依頼」(1402)というサマリ情報のリンク並びにバックエンドサーバ2(107)のサマリ情報のリンク(図示省略)から構成される。
バックエンドサーバ1(106)の「PC貸し出し依頼」(1401)及び「旅費精算依頼」(1402)の詳細情報へのリンク先は、それぞれ1403及び1404のように記載される。
本実施形態では、クライアント100と窓口サーバ101のセッション確立時(202)に、窓口サーバ101が送信する自動ログイン用画面は、バックエンドサーバ106等への固定のページ(例えば、トップページ)へのリンクから構成される自動ログイン用画面400に代わって、バックエンドサーバ106等のサマリ情報を含むサマリ画面1400となる。
クライアント100がサマリ画面1400を取得することによって、バックエンドサーバ106等の固定のページにアクセスせずに、必要なコンテンツに直接アクセス要求することが可能となり、バックエンドサーバ106等への無駄なアクセスを減らすことができる。
本実施形態の自動ログインは、前述した第1から第2の実施形態の自動ログインを適用することにより実現する。なお、前述した第3の実施形態を適用することはできない。
第1及び第2の実施形態では、窓口サーバは、セッション確立202時の応答コンテンツとして、バックエンドサーバ106等の固定のページへのリンクから形成される自動ログイン用画面400を送信している。本実施形態では、クライアント100が窓口サーバ101にログインし、ユーザ認証(201)を受けた後に、窓口サーバ101がバックエンドサーバ106等にアクセスしてサマリ画面1400を作成する。(サマリ画面の作成に方法については後記する。)そして、窓口サーバ101は、作成したサマリ画面1400をセッション確立202時に、クライアント100に応答コンテンツとして送信する。
応答を受けたクライアント100は、サマリ画面1400を表示し、ユーザがサマリ画面1400中のバックエンドサーバ1(106)の「パソコン貸し出し情報」のリンク1401を選択すると、自動ログインを行い、直接「パソコン貸し出し情報」の詳細情報にアクセスすることができる。この自動ログインは、本実施形態に適用した前述の第1又は第2の実施形態を使った自動ログインである。
図15は、サマリ画面(図14の1400)の作成処理のフローチャートである。
窓口サーバ101は、ユーザ認証201後、マッピングテーブル103からクライアント100の窓口ユーザID303に対応するバックエンドサーバ106等のユーザID304等及びパスワード306等を取得する(1500)。
次いで窓口サーバ101は、取得したユーザID304等及びパスワード306等を用いて、バックエンドサーバ106等にログインする(1501)。ログインは、第1の実施形態が適用される場合にはBasic認証用ヘッダをPOSTし、第2の実施形態が適用される場合にはログイン用フォームを、POST又はGETする。
ログインした窓口サーバ101は、バックエンドサーバ106等のサマリ情報とする情報が存在するコンテンツを取得する(1502)。このコンテンツの取得は、ログイン時(1501)の応答コンテンツで足りる場合には必要ない。
次いで、窓口サーバ101は、HTMLのパーサや文字列処理を使って、取得したコンテンツからクライアント100向けのサマリ情報となる情報の見出し及びURLを取得する(1503)。
更に、窓口サーバ101は、取得したすべてのURLを窓口サーバ101を経由させるため、窓口サーバ101のURLに、詳細情報のURLをエンコード(符号化)してクエリに付加したURL(1402、1403)に変換する(1504)。変換したURLは、窓口サーバ101を経由させるための変換であれば任意の変換方法であってもよい。
URLを変換した窓口サーバ101は、1503で取得した見出し及び1504で変換したURLを用いてサマリ画面1400を作成し、クライアント100に送信する(1505)。
サマリ画面1400を受信したクライアント100は、サマリ画面1400を表示する。そして、ユーザがサマリ画面1400中のサマリ情報のリンク1401等を選択して、窓口サーバ101に自動ログイン要求がされると、窓口サーバ101は、エンコードされているクエリ中の詳細情報のURLをデコードする。
以降のステップは、本実施形態として適用した第1又は第2の実施形態の204以降と同様である。
但し、第1の実施形態が適用される場合には、図5の500〜503のURLのクエリ及びパラメータを除いた部分と詳細情報のURLが置き換わることとなる。第2の実施形態が適用される場合にも、図10の1000〜1002及び図11の1101〜1102のURLのクエリ及びパラメータを除いた部分と詳細情報のURLが置き換わることとなる。
以上の処理によって、サマリ機能付きの自動ログインを実現することができる。
本発明によると、シングルサインオンが実現されることによって、ユーザの煩雑なログイン操作やパスワード管理が不要となる。更にバックエンドサーバの改変無しにシングルサインオンを実現できるので、低コストでのシングルサインオン環境が実現できる。これらの効果により社内ITシステムに適用することができる。
本発明の第1の実施形態のコンピュータシステムのシステム構成図である。 本発明の第1の実施形態のタイミングチャートである。 本発明の第1の実施形態のユーザ管理テーブル、マッピングテーブル及び認証情報テーブルの構成図の一例である。 本発明の第1の実施形態の自動ログイン用の画面及び自動ログイン用URLの一例の説明図である。 本発明の第1の実施形態において通信されるメッセージの一例の説明図である。 本発明の第1の実施形態のバックエンドサーバのユーザID及びパスワードの設定画面の一例である。 本発明第1の実施形態で自動ログイン及び直接ログインを併用した場合のシステム構成図である。 本発明の第2及び第3の実施形態のコンピュータシステムのシステム構成図である。 本発明の第2の実施形態のタイミングチャートである。 本発明の第2の実施形態において通信されるメッセージの一例の説明図である。 本発明の第2の実施形態において通信されるメッセージの一例の説明図である。 本発明の第3の実施形態のタイミングチャートである。 本発明の第3の実施形態において通信されるメッセージの一例の説明図である。 本発明の第4の実施形態の自動ログイン用の画面及び自動ログイン用URLの一例の説明図である。 本発明の第4の実施形態のサマリ画面作成処理フローチャートである。
符号の説明
100 クライアント
101 窓口サーバ
102 ユーザ管理テーブル
103 マッピングテーブル
104 中継サーバ
105 認証情報テーブル
106 バックエンドサーバ1
107 バックエンドサーバ2
108 ネットワーク

Claims (2)

  1. クライアントに対するサービスの窓口となる窓口サーバと、前記クライアントにサービスを提供する一つ以上のバックエンドサーバと、前記バックエンドサーバへのアクセスを中継する中継サーバと、を含むコンピュータシステムにおいて、
    前記窓口サーバは、
    第1認証情報に基づいて前記クライアントに対する認証を行い、セッションを確立する第1セッション確立手段と、
    前記バックエンドサーバへのアクセスを当該窓口サーバに対して要求するリンクを含む画面を当該クライアントに送信する画面送信手段と、
    前記確立したセッションを維持しつつ、前記クライアントから前記バックエンドサーバへのアクセス要求を受け付けるアクセス要求受付手段と、
    前記クライアントから取得した前記第1認証情報に基づいて前記バックエンドサーバに対する前記クライアントの第2認証情報を取得する第2認証情報取得手段と、
    当該クライアントに対して前記中継サーバとのセッションを確立させる第2セッション確立手段と、を備え、
    当該中継サーバは、当該クライアントとのセッションを維持しつつ、当該クライアントから前記バックエンドサーバへのアクセス要求に前記窓口サーバが取得した第2認証情報を付加して、前記バックエンドサーバへアクセスを要求するアクセス要求手段を備え、
    前記バックエンドサーバは、前記第2認証情報によって認証を行った後、前記クライアントから要求されたコンテンツを前記中継サーバに送信するコンテンツ送信手段を備え、
    前記中継サーバは、前記バックエンドサーバからコンテンツを受信すると、当該コンテンツを前記クライアントに送信するコンテンツ中継手段を備えることを特徴とするコンピュータシステム。
  2. 前記画面送信手段は、
    前記第2認証情報取得手段と、
    前記取得した第2認証情報を用いて前記バックエンドサーバにログインしてコンテンツを取得するコンテンツ取得手段と、
    前記取得したコンテンツからサマリ情報となる情報の見出し及びリンクを抽出するサマリ情報抽出手段と、
    前記抽出したリンクに対して窓口サーバを経由させるための変換をするリンク変換手段と、
    前記取得した見出し及び前記変換したリンクを用いてサマリ画面を作成するサマリ画面作成手段と、
    前記作成したサマリ画面を前記クライアントが前記窓口サーバにログインした際に返却するサマリ画面返却手段と、を備えることを特徴とする請求項1に記載のコンピュータシステム。
JP2004138834A 2004-05-07 2004-05-07 コンピュータシステム Expired - Fee Related JP4615247B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004138834A JP4615247B2 (ja) 2004-05-07 2004-05-07 コンピュータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004138834A JP4615247B2 (ja) 2004-05-07 2004-05-07 コンピュータシステム

Publications (3)

Publication Number Publication Date
JP2005321970A JP2005321970A (ja) 2005-11-17
JP2005321970A5 JP2005321970A5 (ja) 2007-05-17
JP4615247B2 true JP4615247B2 (ja) 2011-01-19

Family

ID=35469221

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004138834A Expired - Fee Related JP4615247B2 (ja) 2004-05-07 2004-05-07 コンピュータシステム

Country Status (1)

Country Link
JP (1) JP4615247B2 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4779444B2 (ja) 2005-05-26 2011-09-28 株式会社日立製作所 シングルサインオン実現方法
JP4867482B2 (ja) * 2006-06-06 2012-02-01 富士ゼロックス株式会社 制御プログラムおよび通信システム
JP4882546B2 (ja) * 2006-06-28 2012-02-22 富士ゼロックス株式会社 情報処理システムおよび制御プログラム
JP4683655B2 (ja) * 2006-09-07 2011-05-18 株式会社三菱東京Ufj銀行 アクセス中継装置、アクセス中継システム、及びアクセス中継方法
US8332520B2 (en) 2007-01-19 2012-12-11 International Business Machines Corporation Web server for managing session and method thereof
JP4652350B2 (ja) * 2007-01-29 2011-03-16 Necソフト株式会社 リバースプロキシサーバ、その制御方法及びプログラム
US7685044B1 (en) * 2007-05-11 2010-03-23 Morgan Stanley Low latency trading system
JP2009098761A (ja) * 2007-10-15 2009-05-07 Fujifilm Corp 認証サーバおよびその動作制御方法
JP5053040B2 (ja) * 2007-11-01 2012-10-17 株式会社野村総合研究所 情報処理装置及びクライアントサーバシステム
JP4530027B2 (ja) * 2007-11-13 2010-08-25 日本電気株式会社 コンピュータシステム
US20090164568A1 (en) * 2007-12-20 2009-06-25 Electronics And Telecommunications Research Institute Method for integrating management of posted articles and terminal for the same
US20100017889A1 (en) * 2008-07-17 2010-01-21 Symantec Corporation Control of Website Usage Via Online Storage of Restricted Authentication Credentials
JP5193787B2 (ja) * 2008-10-02 2013-05-08 株式会社日立製作所 情報処理方法、中継サーバおよびネットワークシステム
JP4815481B2 (ja) * 2008-10-06 2011-11-16 株式会社オプティム ネットワーク中継機器、ユーザ情報管理システム、およびユーザ情報管理方法
JP5570610B2 (ja) * 2009-11-05 2014-08-13 ヴイエムウェア インク 遠隔ユーザ・セッションのためのシングル・サインオン
JP5732732B2 (ja) * 2010-03-18 2015-06-10 富士通株式会社 認証サーバ装置、プログラム、および方法
JP5339478B2 (ja) * 2010-08-31 2013-11-13 キヤノンマーケティングジャパン株式会社 情報処理システム、情報処理装置、及びその制御方法及びプログラム
JP5631164B2 (ja) * 2010-11-16 2014-11-26 株式会社Nttドコモ マルチクラスタ分散処理制御システム、代表クライアント端末、マルチクラスタ分散処理制御方法
JP5614340B2 (ja) * 2011-03-16 2014-10-29 富士通株式会社 システム、認証情報管理方法、およびプログラム
EP2521329B1 (en) 2011-05-04 2013-07-10 Alcatel Lucent A server, a system, a method, a computer program and a computer program product for accessing a server in a computer network
US20140109129A1 (en) 2011-05-20 2014-04-17 Nippon Hoso Kyokai Integrated broadcasting communications receiver and integrated broadcasting communications system
JP2013008140A (ja) * 2011-06-23 2013-01-10 Hitachi Systems Ltd シングルサインオンシステム、シングルサインオン方法および認証サーバ連携プログラム
WO2013001573A1 (ja) * 2011-06-29 2013-01-03 パイオニア株式会社 アカウント管理システム、アカウント管理システムの制御方法およびプログラム
JP6180084B2 (ja) * 2011-07-20 2017-08-16 キヤノン株式会社 画像処理装置、その制御方法及びプログラムと記憶媒体
JP5824744B2 (ja) * 2011-09-28 2015-11-25 西日本電信電話株式会社 情報処理システム、及び情報処理方法
JP6056505B2 (ja) * 2012-05-23 2017-01-11 株式会社デンソー 管理システム
JP5846143B2 (ja) * 2013-03-11 2016-01-20 株式会社リコー 自動ログイン処理システム、自動ログイン処理装置及び自動ログイン処理プログラム
US10121065B2 (en) 2013-03-14 2018-11-06 Nike, Inc. Athletic attribute determinations from image data
US10223926B2 (en) 2013-03-14 2019-03-05 Nike, Inc. Skateboard system
WO2015004743A1 (ja) * 2013-07-10 2015-01-15 株式会社野村総合研究所 中継処理装置、中継処理方法、およびプログラム
EP3042485B1 (en) * 2013-09-05 2020-03-11 NIKE Innovate C.V. Conducting sessions with captured image data of physical activity and uploading using token-verifiable proxy uploader
JP2017059149A (ja) * 2015-09-18 2017-03-23 株式会社アクシオ 認証システム及び認証方法
CN107359996B (zh) * 2016-05-09 2020-05-05 阿里巴巴集团控股有限公司 多网站间的自动登录方法及装置
CN110162512B (zh) * 2019-05-05 2021-11-09 中国银行股份有限公司 一种日志检索方法、装置及存储介质
JP2022074496A (ja) * 2020-11-04 2022-05-18 イグドラシルリーヴズ合同会社 ネットワーク処理制御システム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002334056A (ja) * 2001-05-08 2002-11-22 Infocom Corp ログイン代行システム及びログイン代行方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002334056A (ja) * 2001-05-08 2002-11-22 Infocom Corp ログイン代行システム及びログイン代行方法

Also Published As

Publication number Publication date
JP2005321970A (ja) 2005-11-17

Similar Documents

Publication Publication Date Title
JP4615247B2 (ja) コンピュータシステム
US20100049790A1 (en) Virtual Identity System and Method for Web Services
KR100286499B1 (ko) 쿠키를이용한분산형파일시스템웹서버사용자인증방법
US7530099B2 (en) Method and system for a single-sign-on mechanism within application service provider (ASP) aggregation
US7716281B2 (en) Method and system for transferring content from the web to mobile devices
US8024400B2 (en) Method and system for transferring content from the web to mobile devices
US9143502B2 (en) Method and system for secure binding register name identifier profile
US6865680B1 (en) Method and apparatus enabling automatic login for wireless internet-capable devices
US8543726B1 (en) Web relay
JP4882546B2 (ja) 情報処理システムおよび制御プログラム
US9684628B2 (en) Mechanism for inserting trustworthy parameters into AJAX via server-side proxy
US20110289138A1 (en) Method, machine and computer program product for sharing an application session across a plurality of domain names
JP5373795B2 (ja) ウェブページのコンテンツをプレゼンス情報で充実させるための方法
JP2002334056A (ja) ログイン代行システム及びログイン代行方法
CN103024740A (zh) 移动终端访问互联网的方法及***
US20040088438A1 (en) Integrating user specific output options into user interface data
CA2437273C (en) Network conduit for providing access to data services
WO2007052353A1 (ja) データ伝送システムおよびその方法
JP5146088B2 (ja) ウェブ情報中継方法及び装置
CN113411324B (zh) 基于cas与第三方服务器实现登录认证的方法和***
KR100422327B1 (ko) 사용자 브라우저의 실시간 제어 시스템 및 방법
CN101848198B (zh) 授权共用***及其方法
JP2005208937A (ja) 情報提供装置
JP2022163820A (ja) 通信システム、通信方法、及びプログラム
TWI446772B (zh) A cross - domain cookie access method, system and device

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070322

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100906

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100928

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101020

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131029

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees