説明

情報処理装置および情報処理方法

【課題】複数のフレーム領域を有するWebページにおいて、フレーム領域内に認証情報入力画面を見易く表示することができるようにする。
【解決手段】利用者端末と通信可能に接続し、複数のフレーム領域を有するWebページの画面データを利用者端末に送信する情報処理装置が、フレーム領域の1つに表示させる認証情報入力画面と、認証情報入力画面が表示されるフレーム領域の面積を拡大させるプログラムとを利用者端末に送信する認証情報入力画面送信部を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置および情報処理方法に関する。
【背景技術】
【0002】
Webサーバへのアクセスに際して利用者の認証が求められることがある。Webページが複数のフレーム領域に分割されている場合に、利用者が一定時間操作をせず、再度の認証が必要になった後に、あるフレーム領域に表示させるリクエストがWebサーバに送信されると、ユーザIDやパスワードなどの認証情報を入力するための入力画面がそのフレーム領域に表示されることになる。フレーム領域の面積が狭い場合などには、認証情報入力画面の全てが表示されず、利用者は画面をスクロールしなければならず、不便であった。
【0003】
このような問題を解決するため、非特許文献1には、フレーム領域に分割されているWebページ全体に認証情報入力画面を表示する方法が示されている。
【非特許文献1】”CGI で特定フレームを指定して実行する方法”,[online] ,[平成19年4月20日検索] ,インターネット<URL:http://www.drk7.jp/MT/archives/000796.html>
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1に記載の方法では、認証情報の入力画面がWebページ全体に表示されるため、画面が表示される前に、複数のフレーム領域のそれぞれに表示されていた内容は破棄されてしまう。
【0005】
本発明は、このような背景を鑑みてなされたものであり、複数のフレーム領域を有するWebページにおいて、フレーム領域内に認証情報入力画面を見易く表示することのできる情報処理システムおよび情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するための本発明の主たる発明は、利用者端末と通信可能に接続し、複数のフレーム領域を有するWebページの画面データを前記利用者端末に送信する情報処理装置であって、前記フレーム領域の1つに表示させる認証情報入力画面と、前記認証情報入力画面が表示される前記フレーム領域の面積を拡大させるプログラムとを前記利用者端末に送信する認証情報入力画面送信部を備えることとする。
【発明の効果】
【0007】
本発明によれば、複数のフレーム領域を有するWebページにおいて、フレーム領域内に認証情報入力画面を見易く表示することができる。
【発明を実施するための最良の形態】
【0008】
以下、本発明の一実施形態に係る情報処理システムについて説明する。本実施形態の情報処理システムは、クライアント端末10から、認証が必要なWebページを提供するWebサーバ20にアクセスするものである。本実施形態では、WebページはHTML(HyperText Markup Language)により記述されるものとする。また、本実施形態では、Webサーバから提供されるWebページは、複数の領域(以下、フレーム領域という。)に分割されていることを前提とする。フレーム領域は、HTMLでは、フレームセットタグ(<FRAMESET>)と、フレームタグ(<FRAME>)とにより設定される。
【0009】
==システム構成==
図1は、本実施形態の情報処理システムの全体構成を示す図である。同図に示すように、本実施形態の情報処理システムは、クライアント端末10およびWebサーバ20を含んで構成される。クライアント端末10およびWebサーバ20は通信ネットワーク30を介して接続されている。通信ネットワーク30は、例えば、インターネットやLAN(Local Area Network)である。
【0010】
Webサーバ20は、HTMLにより記述されたWebページを提供する情報処理装置である。Webサーバ20は、例えば、パーソナルコンピュータやワークステーションなどである
クライアント端末10は、利用者が操作する、例えばパーソナルコンピュータやワークステーション、PDA(Personal Digital Assistant)、携帯電話などのコンピュータである。クライアント端末10では、Webブラウザが動作しており、クライアント端末10とWebサーバ20との間では、HTTP(HyperText Transfer Protocol)やHTTPS(Hyper Text Transfer Protocol Security)により通信が行われる。利用者はWebブラウザを操作してWebサーバ20が提供するWebページを閲覧することができる。また、クライアント端末10は、Webサーバ20との間での通信セッションに関する情報をクッキーとして記憶する。なお、クライアント端末10とWebサーバ20との間の通信には、は安全性を考慮して、暗号化された通信を行うHTTPSを採用することが好ましい。
【0011】
==ハードウェア構成==
図2は、Webサーバ20のハードウェア構成を示す図である。同図に示すように、Webサーバ20は、CPU201、メモリ202、記憶装置203、通信装置204、入力装置205を備える。記憶装置203は、各種のプログラムやデータを記憶する、例えばハードディスクドライブやフラッシュメモリである。CPU201は、記憶装置203に記憶されているプログラムをメモリ202に読み出して実行することにより各種の機能を実現する。通信装置204は、通信ネットワーク30に接続するためのインタフェースであり、例えば、イーサネット(登録商標)に接続するためのアダプタや、公衆電話回線網に接続するためのモデムである。入力装置205は、情報の入力を受け付ける、例えばキーボードやマウスなどである。
【0012】
==ソフトウェア構成==
図3は、Webサーバ20のソフトウェア構成を示す図である。同図に示すように、Webサーバ20は、リクエスト受信部211、認証要否判定部212、認証画面送信部213、認証処理部214および業務画面送信部215の各機能部と、セッション情報記憶部31、認証情報記憶部32、業務画面記憶部33、認証画面記憶部34、拡大プログラム記憶部35および復元プログラム記憶部36の各記憶部とを備えている。上記各機能部は、Webサーバ20が備えるCPU201が記憶装置203に記憶されているプログラムをメモリ202に読み出して実行することにより実現される。上記各記憶部は、Webサーバ20が備えるメモリ202および記憶装置203が提供する記憶領域として実現される。なお、上記各機能部および各記憶部は、専用のハードウェアの機能として実現してもよい。
【0013】
リクエスト受信部211は、HTTPに規定されるリクエストをクライアント端末10から受信する。リクエストには、利用者の識別情報(以下、ユーザIDという。)と、Webページを示すURL(Uniform Resource Locator)とが含まれているものとする。
【0014】
セッション情報記憶部31は、クライアント端末10とWebサーバ20との間の通信セッションに関する情報(以下、セッション情報という。)を記憶する。図4は、セッション情報記憶部31に記憶されるセッション情報の構成例を示す図である。同図に示すように、セッション情報には、通信セッションの識別情報であるセッションID、通信セッションの有効期限およびユーザIDが含まれる。
【0015】
本実施形態では、利用者の認証が行われたときに新規にセッション情報が生成され、通信セッションが有効である間は、利用者の認証は行われているものとする。
【0016】
認証要否判定部212は、リクエストに応じて利用者の認証が必要か否かを判定する。本実施形態では、認証要否判定部212は、リクエストに含まれているユーザIDに対応するセッション情報がセッション情報記憶部31に記憶されており、かつ記憶されているセッション情報の有効期限が、現在時刻以後であるかどうかにより、利用者が認証されているかどうかを判断する。
【0017】
認証情報記憶部32は、利用者の認証に用いられる認証情報を記憶する。図5は、認証情報記憶部32に記憶される認証情報の構成例を示す図である。同図に示すように、認証情報にはユーザIDとパスワードとが含まれる。
【0018】
業務画面記憶部33および認証画面記憶部34は、HTMLで記述されたファイルや画像データなど、Webページを表示するための画面データ(以下、単にWebページともいう。)を記憶する。認証画面記憶部34には、ユーザIDやパスワードなどの認証情報を入力する画面を表示するためのWebページ(以下、認証画面という。本実施形態の認証情報入力画面に対応する。)を記憶する。業務画面記憶部33は、認証画面以外のWebページ(以下、業務画面という。)を記憶する。
【0019】
図6は、認証画面の一例である画面41を示す図である。本実施形態では、認証情報は、ユーザIDおよびパスワードであるものとする。画面41は、ユーザIDの入力欄411およびパスワードの入力欄412を備えている。利用者によりボタン413が押下されると、クライアント端末10は、入力欄411および412に入力された認証情報を含むリクエストをWebサーバ20に送信する。
【0020】
図7は、業務画面の一例である画面42を示す図である。画面42は、検索条件を入力する業務画面の一例である。画面42は、検索条件の入力欄421を備えており、ボタン422が押下されると、入力欄421に入力された文字列を含むリクエストがWebサーバ20に送信される。
【0021】
本実施形態では、クライアント端末10では、複数のフレーム領域にWebページを表示することを想定している。図8は、複数のフレーム領域に業務画面が表示されたWebページの一例である画面43を示す図である。同図に示すように、画面43は、フレーム領域431〜433の3つのフレーム領域から構成されており、図8の例では、フレーム領域432に、上述した業務画面の一例である画面42が表示されている。なお、画面43の各フレーム領域に表示される内容は、図8の例に限るものではない。
【0022】
拡大プログラム記憶部35は、認証画面が表示されるフレーム領域(以下、表示先フレーム領域という。)の面積を拡大するためのプログラム(以下、拡大プログラムという。)を記憶する。拡大プログラムは、クライアント端末10により実行される。拡大プログラムは、例えば、JavaScriptやJava(登録商標)により記述され、認証画面に付帯されて送信される。
【0023】
図9は、クライアント端末10により拡大プログラムが実行される場合の処理の流れを示す図である。
【0024】
クライアント端末10は、認証画面の表示先がフレーム領域であるかどうかを判定する(S501)。表示先がフレーム領域であれば(S501:YES)、クライアント端末10は、Webブラウザに表示されるWebページを構成する複数のフレーム領域のそれぞれについて、フレーム領域を示すフレームIDに対応付けて、フレーム領域の幅および高さを含むサイズ情報を生成する(S502)。クライアント端末10は、生成したサイズ情報のリストを、フレームセットの属性として設定する(S503)。クライアント端末10は、表示先フレーム領域の幅を最大化、すなわちWebブラウザの画面の幅に設定し(S504)、表示先フレーム領域の高さを最大化、すなわちWebブラウザの画面の高さに設定する(S505)。これにより、表示先フレーム領域以外のフレーム領域の幅または高さは0に設定される。
クライアント端末10は、表示先フレーム領域に認証画面を表示する(S506)。
【0025】
以上説明したように、拡大プログラムは、クライアント端末10に、表示先フレーム領域の幅または高さを増加させて、表示先フレーム領域の面積を拡大させるものである。
【0026】
認証画面送信部213は、認証要否判定部212により利用者の認証が必要と判断された場合、認証画面に拡大プログラムを付帯させてクライアント端末10に送信する。なお、認証画面送信部213は、認証画面が表示される先がフレーム領域かどうかを判定できる場合には、認証画面がフレーム領域に表示される場合にのみ拡大プログラムを付帯させるようにしてもよい。
【0027】
認証処理部214は、認証画面に入力される認証情報に基づいて利用者の認証を行う。クライアント端末10は、認証画面に入力されたユーザIDおよびパスワードを設定したリクエストをWebサーバ20に送信し、認証処理部214は、リクエストにユーザIDとパスワードとが設定されている場合に、利用者の認証を行うようにする。
【0028】
復元プログラム記憶部36は、表示先フレーム領域の面積を縮小するプログラムを記憶する。なお、本実施形態では、復元プログラム記憶部36に記憶されるプログラムは、Webページを構成する各フレーム領域の大きさを、上述した拡大プログラムを実行する前の大きさに設定するプログラム(以下、復元プログラムという。)であるものとする。復元プログラムもクライアント端末10において実行される。復元プログラムは、例えば、JavaScriptやJava(登録商標)により記述され、認証処理が行われた後に送信される業務画面に付帯されて送信される。
【0029】
図10は、クライアント端末10により復元プログラムが実行される場合の処理の流れを示す図である。
【0030】
クライアント端末10は、業務画面の表示先がフレーム領域であるかどうかを判定し(S521)、表示先がフレーム領域であれば(S521:YES)、サイズ情報がフレームセットの属性に設定されているかどうかを判断する(S522)。
業務画面の表示先がフレーム領域であり(S521:YES)、かつ、フレームセットの属性にサイズ情報が記憶されている場合(S522:YES)、クライアント端末10は、サイズ情報のリストをフレームセットの属性から取得し(S523)、各サイズ情報について、サイズ情報に含まれるフレームIDが示すフレーム領域の幅と高さを、サイズ情報に含まれる幅と高さとに設定する(S524)。
クライアント端末10は、表示先フレーム領域に業務画面を表示する(S525)。
【0031】
以上説明したように、復元プログラムは、クライアント端末10に、認証画面が表示される前の表示先フレーム領域のサイズが記憶されている場合、そのサイズに表示先フレーム領域のサイズを復元するものである。
【0032】
業務画面送信部215は、リクエストに応じて業務画面をクライアント端末10に送信する。業務画面送信部215は、認証処理部214による利用者の認証が成功した場合には、業務画面に復元プログラムを付帯させて送信する。
【0033】
==処理==
次に、Webサーバ20による処理の流れを説明する。図11は、Webサーバ20がリクエストに応じて業務画面または認証画面をクライアント端末10に送信する処理の流れを示す図である。
【0034】
リクエスト受信部211がクライアント端末10からリクエストを受信すると(S541)、認証要否判定部212は、受信したリクエストに通信セッションのセッションIDが設定されているかどうかを判定する(S542)。リクエストにセッションIDが設定されていない場合(S542:NO)、認証要否判定部212は、リクエストにユーザIDとパスワードの両方が設定いるかどうかを判定する(S543)。リクエストにパスワードが設定されていない場合(S543:NO)、認証画面送信部213は、認証画面に拡大プログラムを付帯させてクライアント端末10に送信する(S544)。
【0035】
一方、リクエストにユーザIDおよびパスワードの両方が設定されていた場合(S543:YES)、すなわち認証画面に入力されたユーザIDおよびパスワードがクライアント端末10から送信されてきた場合には、認証処理部214は、ユーザIDに対応するパスワードを認証情報記憶部32から読み出し(S545)、読み出したパスワードとリクエストに含まれているパスワードとが一致するかどうかを判定する(S546)。パスワードが一致すれば(S546:YES)、業務画面送信部215は、リクエストに指定された業務画面を業務画面記憶部33から読み出し、読み出した前記業務画面に復元プログラムを付帯させてクライアント端末10に送信する(S547)。パスワードが不一致であれば(S546:NO)、ステップS544に進み、認証画面送信部213は、認証画面に拡大プログラムを付帯させて送信する。
【0036】
リクエストにセッションIDが設定されている場合(S542:YES)、認証要否判定部212は、リクエストに指定されているセッションIDに対応するセッション情報をセッション情報記憶部31から読み出し(S548)、読み出したセッション情報に含まれる有効期限が現在時刻以後であるかどうかを判定する(S549)。有効期限が現在時刻以後であれば(S549:YES)、業務画面送信部215は、リクエストに応じた業務画面をクライアント端末10に送信する。
【0037】
以上の処理により、Webサーバ20は、クライアント端末10との間の通信セッションが有効、すなわち認証が不要であれば、リクエストに応じた業務画面をクライアント端末10に送信し、認証が必要であれば、認証画面に拡大プログラムを付帯させてクライアント端末10に送信し、利用者が認証された場合には、リクエストに応じた業務画面に復元プログラムを付帯させて送信する。
【0038】
==動作例==
図12および13は、クライアント端末10とWebサーバ20との間で行われる通信の様子を説明する図である。また、この際クライアント端末10に表示される画面例を図14に示す。
【0039】
クライアント端末10は、Webサーバ20に対してリクエストを送信し(S601)、Webサーバ20は、認証画面をクライアント端末10に送信する(S602)。
クライアント端末10は、Webサーバ20から受信した認証画面を表示する(S603)。ここでクライアント端末10では、図14(a)画面41がブラウザ画面上に表示される。クライアント端末10は、利用者からユーザIDおよびパスワードの入力を受け付け(S604)、受け付けたユーザIDおよびパスワードを含むリクエストをWebサーバ20に送信する(S605)。
【0040】
Webサーバ20は、リクエストに含まれているユーザIDおよびパスワードに基づいて利用者の認証を行う(S606)。具体的には、ユーザIDに対応する認証情報記憶部32のパスワードとリクエストに含まれるパスワードとを比較することにより、利用者の認証が行われる。利用者の認証に失敗した場合には(S607:NO)、認証に失敗した旨を示すWebページをクライアント端末10に送信し(S608)、クライアント端末10は、認証に失敗した旨を示すWebページを表示する(S609)。
【0041】
一方、利用者の認証に成功した場合には(S607:YES)、Webサーバ20は、新たにセッションIDを生成し、生成したセッションID、現在時刻から所定時間後の有効期限、およびリクエストに含まれるユーザIDを含むセッション情報を生成してセッション情報記憶部31に登録する(S610)。Webサーバ20は、リクエストに応じた業務画面にセッションIDを付帯させてクライアント端末10に送信する(S611)。
【0042】
クライアント端末10は、受信した業務画面を表示する(S612)。ここで表示されるWebページは、図14(b)に示すように、複数のフレーム領域から構成されるものとする。図14の例では、画面43は3つのフレーム領域431〜433から構成されている。
【0043】
ここで上記所定時間を超える時間が経過したものとする(S613)。
クライアント端末10は、利用者からの指示に応じて(S614)、セッションIDおよびユーザIDを含むリクエストをWebサーバ20に送信する(S615)。例えば、図14(b)のフレーム領域432に表示されているボタン4321が押下されたことに応じて、クライアント端末10は、リクエストをWebサーバ20に送信する。
【0044】
Webサーバ20は、リクエストに含まれるセッションIDおよびユーザIDに対応するセッション情報をセッション情報記憶部31から読み出し、読み出したセッション情報に含まれる有効期限が現在時刻以後であるかどうかにより、通信セッションが有効かどうかを判定する(S616)。
【0045】
通信セッションが有効であれば(S617:YES)、Webサーバ20は、リクエストに応じた業務画面を業務画面記憶部33から読み出してクライアント端末10に送信し(S618)、クライアント端末10は、受信した業務画面を表示先フレーム領域に表示する(S619)。
【0046】
通信セッションが有効でなければ(S617:NO)、Webサーバ20は、認証画面に拡大プログラムを付帯させてクライアント端末10に送信し(S620)、クライアント端末10は、受信した認証画面を表示するとともに(S621)、認証画面に付帯されている拡大プログラムを実行して(S622)、表示先フレーム領域を最大化する。これにより図14(c)に示すように、フレーム領域432の表示が最大化されて、フレーム領域431および433は、境界(ボーダー)を残すのみで、フレーム領域内の画面は表示されなくなる。クライアント端末10は、表示した認証画面を介してユーザIDおよびパスワードの入力を受け付け(S623)、受け付けたユーザIDおよびパスワードを含むリクエストをWebサーバ20に送信する(S624)。
【0047】
Webサーバ20は、リクエストに含まれるユーザIDおよびパスワードに基づいて利用者の認証を行い(S625)、利用者の認証に失敗した場合は(S626:NO)、認証に失敗した旨を示すWebページをクライアント端末10に送信して(S627)、クライアント端末10は、受信したWebページを表示する(S628)。
【0048】
一方、利用者の認証に成功した場合には(S626:YES)、Webサーバ20は、リクエストに含まれているセッションIDおよびユーザIDに対応する有効期限を、現在時刻から所定時間後の時刻に更新する(S629)。Webサーバ20は、リクエストに応じた業務画面を業務画面記憶部33から読み出し、読み出した業務画面に復元プログラムを付帯させてクライアント端末10に送信する(S630)。
【0049】
クライアント端末10は、Webサーバ20から受信した業務画面を表示先フレームに表示するとともに(S631)、業務画面に付帯されている復元プログラムを実行して(S632)、表示先フレーム領域のサイズを元の大きさに復元する。復元プログラムを実行した後に、クライアント端末10に表示されているWebページの状態を図14(d)に示す。図14(d)に示す画面43は、図14(b)に示す画面43の状態と、各フレーム領域の大きさは同じに復元されている。
【0050】
以上説明したように、本実施形態のWebサーバ20によれば、Webページが複数のフレーム領域に分割されており、そのフレーム領域の1つに認証画面を表示する場合に、認証画面が表示される表示先フレーム領域の面積を拡大することができる。Webページのレイアウトとして、表示先フレーム領域の面積が小さく割り当てられていた場合や、フレーム領域を区切る境界(ボーダ)を利用者が動かして表示先フレーム領域の表示面積が小さくなってしまった場合には、認証画面が表示されていることに利用者が気付かないことがありうるが、本実施形態のWebサーバ20によれば、クライアント端末10に表示先フレーム領域の面積を拡大する拡大プログラムを付帯させて認証画面を送信することができるので、利用者が認証画面に気付かないような状況を回避することができる。したがって、利用者は認証情報の入力がしやすくなる。また、認証画面には、利用者に対するパスワード入力上の注意や、認証が必要になった原因その他の情報が表示されることが多いが、表示先フレーム領域の面積が拡大されることにより、このような情報を利用者に視認しやすくすることができる。
【0051】
また、本実施形態のWebサーバ20によれば、表示先フレーム領域以外のフレーム領域に表示されていた内容を保持したまま、表示先フレーム領域の面積を拡大し、認証に成功した後は、表示先フレーム領域のサイズを、拡大前のサイズに復元することができる。したがって、利用者は、認証後も他のフレーム領域に表示されていた内容を継続して閲覧することができる。よって、利用者の利便性を損なうことなく、クライアント端末10に認証画面を表示させることができる。
【0052】
==変形例==
次に、上述したWebサーバ20の機能を複数の情報処理装置に分散させた構成について説明する。図15は、複数の情報処理装置に上記Webサーバ20の機能を分散させた構成の情報処理システムの全体構成を示す図である。同図に示すように、情報処理システムは、クライアント端末10、リバースプロキシサーバ21、Webサーバ22、および認証サーバ23を含んで構成される。リバースプロキシサーバ21、Webサーバ22および認証サーバ23により、上述したWebサーバ20の機能が実現される。図15に示す情報処理装置の構成は、シングルサインオン(SSO)とも呼ばれ、認証サーバ23が利用者の認証を集中的に行うことで、複数のWebサーバ22を用いてリクエストの分散処理を行うことを可能とする。このような利用者の認証を行う認証サーバ23を独立させた構成(以下、SSO構成という。)の情報処理システムでは、リバースプロキシサーバ21がクライアント端末10からのリクエストを受け付けて、認証の要否を判断し、認証が必要であれば認証サーバにリクエストをリダイレクトし、認証が不要であれば、リクエストに指定されている業務画面をWebサーバ22から取得してクライアント端末10に転送する。
【0053】
図16は、SSO構成の情報処理システムにおけるソフトウェア構成を示す図である。
リバースプロキシサーバ21は、上述のWebサーバ20のリクエスト受信部211、認証要否判定部212、拡大プログラム記憶部35および復元プログラムを備えるとともに、認証確認クエリ送信部221、認証確認結果受信部222、拡大プログラム送信部223、復元プログラム送信部224および業務画面転送部225を備えている。なお、SSO構成の情報処理システムでは、クライアント端末10とリバースプロキシサーバ21との間の通信セッションと、クライアント端末10と認証サーバ23との間の通信セッション(以下、SSO通信セッションといい、単に通信セッションという場合には、クライアント端末10とリバースプロキシサーバ21との間の通信セッションを示すものとする。)とは、異なる通信セッションであるものとする。したがって、クライアント端末10から送信されるリクエストには、通信セッションを識別するセッションIDまたはSSO通信セッションを識別するセッションID(以下、SSOセッションIDという。)が含まれ得る。
【0054】
セッション情報記憶部37は、リバースプロキシサーバ21とクライアント端末10との間の通信セッションに関するセッション情報を記憶する。図17にセッション情報記憶部37の構成例を示す。同図に示すように、セッション情報記憶部37の構成は、上述のWebサーバ20が備えるセッション情報記憶部31と同様であるが、ユーザIDに代えて、認証サーバ23が管理するユーザの識別情報であるSSOIDを記憶している。
【0055】
認証確認クエリ送信部221は、認証サーバ23においてSSOIDが示す利用者が認証されているかどうかを問い合わせるコマンド(以下、認証確認クエリという。)を認証サーバ23に送信する。認証確認クエリには、SSOIDが設定される。
【0056】
認証確認結果受信部222は、認証確認クエリに応じて認証サーバ23から送信される、利用者が認証されているかどうかを示す情報(以下、認証確認結果という。)を受信する。
【0057】
認証要否判定部212は、上述のWebサーバ20と同様に、セッション情報がセッション情報記憶部37に記憶されており、かつ現在時刻が有効期限以前であれば利用者は認証されていると判断し、それ以外の場合には、認証サーバ23からの認証確認結果に基づいて、利用者が認証されているかどうかを判定する。また、認証要否判定部212は、利用者が認証されていると判断した場合、セッション情報の有効期限を、現在時刻から所定時間後に更新する。
【0058】
拡大プログラム送信部223は、利用者の認証がされていないと判定された場合に、後述の認証サーバ23が備える認証画面を示すURLを指定した、クライアント端末10に対してアクセスを行うように指示するコマンド(例えば、HTMLの場合、<META>タグで指定することができる。)を含むWebページ(以下、リダイレクト画面という。)に拡大プログラムを付帯させてクライアント端末10に送信する。これにより、認証サーバ23から送信される認証画面が表示されるべき表示先フレーム領域の面積を拡大することができる。
【0059】
復元プログラム送信部224は、リダイレクト画面の送信後、利用者が認証されていると判定された場合に、業務画面を示すURLを指定したリダイレクト画面に、復元プログラムを付帯させてクライアント端末10に送信する。これにより、拡大プログラムにより拡大された表示先フレーム領域を元のサイズに復元することができる。
【0060】
Webサーバ22は、上述のWebサーバ20のリクエスト受信部211、業務画面送信部215および業務画面記憶部33を備える。なお、Webサーバ22が備えるリクエスト受信部211は、後述するように、リバースプロキシサーバ21からのリクエストに応じて業務画面をリバースプロキシサーバ21に送信するものである。
【0061】
認証サーバ23は、上述のWebサーバ20の認証画面送信部213、認証処理部214、認証情報記憶部32および認証画面記憶部34を備えるとともに、認証確認クエリ受信部231、認証確認処理部232、認証確認結果送信部233およびSSOセッション情報記憶部38を備えている。
【0062】
SSOセッション情報記憶部38は、クライアント端末10と認証サーバ23との間の通信セッションに関するセッション情報(以下、SSOセッション情報という。)が記憶される。図18は、SSOセッション情報記憶部38の構成例を示す図である。同図に示すように、SSOセッション情報記憶部38の構成は、上述のリバースプロキシサーバ21のセッション情報記憶部37と同様であるが、セッションIDに代えてSSOセッションIDが含まれる。
【0063】
認証サーバ23が備える認証処理部214は、上述のWebサーバ20と同様に、ユーザIDおよびパスワードに基づいて利用者の認証を行い、利用者の認証に成功した場合には、リバースプロキシサーバ21のアドレスを含む所定のURL(以下、検証URLという。検証URLは、例えば、「http://リバースプロキシサーバ21のアドレス/authcheck.cgi」のように表現される。)を指定したリダイレクト画面をクライアント端末10に送信する。
【0064】
認証確認クエリ受信部231は、リバースプロキシサーバ21から送信される認証確認クエリを受信する。
認証確認処理部232は、認証確認クエリに設定されているSSOセッションIDおよびSSOIDに対応するSSOセッション情報がSSOセッション情報記憶部38に記憶されており、かつそのSSOセッション情報の有効期限が現在時刻以後であるかどうかにより、利用者が認証されているかどうかを判断する。
認証確認結果送信部233は、認証確認処理部232による判断結果を示す認証確認結果をリバースプロキシサーバ21に送信する。
【0065】
==処理==
図19は、クライアント端末10からリクエストを受信した場合のリバースプロキシサーバ21の処理の流れを示す図である。
【0066】
リクエスト受信部211が、クライアント端末10からリクエストを受信すると(S701)、リクエストに検証URLが含まれている場合(S702:YES)、リクエストにSSOIDが含まれていなければ(S703:NO)、エラーを示す画面(以下、エラー画面という。)をクライアント端末10に送信する(S704)。
【0067】
SSOIDが含まれていれば、認証確認クエリ送信部221は、SSOIDを設定した認証確認クエリを認証サーバ23に送信し(S705)、認証確認結果受信部222は、認証確認クエリに応じて認証サーバ23から送信される認証確認結果を受信する(S706)。認証確認結果が、利用者が認証されていることを示す場合(S707:YES)、復元プログラム送信部224は、所定の業務画面を示すURLを指定したリダイレクト画面に復元プログラムを付帯させてクライアント端末10に送信する(S708)。
【0068】
一方、クライアント端末10から受信したリクエストに含まれるURLが検証URLでない場合(S702:NO)、認証要否判定部212は、リクエストにセッションIDが含まれており、セッションIDに対応するセッション情報の有効期限が現在時刻以後であるかどうかにより、通信セッションが有効であるかどうかを判定する(S709)。通信セッションが有効であれば(S710:YES)、業務画面転送部225は、クライアント端末10から受信したリクエストに含まれるURLを含むリクエストをWebサーバ22に送信し(S711)、送信したリクエストに応じてWebサーバ22から応答される業務画面をクライアント端末10に転送する(S712)。
【0069】
リバースプロキシサーバ21とクライアント端末10との間の通信セッションが有効でない場合には、拡大プログラム送信部223は、認証サーバ23の認証画面を示すURLを指定したリダイレクト画面に拡大プログラムを付帯させてクライアント端末10に送信する(S713)。
【0070】
==動作例==
図20〜22は、SSO構成の情報処理システムにおける通信の様子を説明する図である。
【0071】
クライアント端末10は、リバースプロキシサーバ21に対してリクエストを送信し(S721)、リバースプロキシサーバ21は、認証サーバ23が管理する認証画面を示すURLを設定したリダイレクト画面をクライアント端末10に送信する(S722)。
【0072】
クライアント端末10は、リダイレクト画面に設定されているURLを指定して、認証サーバ23にリクエストを送信する(S723)。認証サーバ23は、クライアント端末10からのリクエストに応じて、認証画面をクライアント端末10に送信する(S724)。
【0073】
クライアント端末10は、認証サーバ23から受信した認証画面を表示し(S725)、利用者からユーザIDおよびパスワードの入力を受け付ける(S726)。クライアント端末10は、入力されたユーザIDおよびパスワードを含むリクエストを認証サーバ23に送信する(S727)。
【0074】
認証サーバ23は、リクエストに含まれているユーザIDおよびパスワードに基づいて利用者の認証を行い(S728)、認証に失敗した場合(S729:NO)、認証に失敗した旨を示すWebページをクライアント端末10に送信して(S730)、クライアント端末10は、受信したWebページを表示する(S731)。
【0075】
一方、利用者の認証に成功した場合には(S729:YES)、認証サーバ23は、新たにSSOセッションIDを生成し、生成したSSOセッションID、現在時刻から所定時間後の有効期限、およびリクエストに含まれるSSOIDを含むSSOセッション情報を生成してSSOセッション情報記憶部38に登録する(S732)。認証サーバ23は、検証URLを指定したリダイレクト画面をクライアント端末10に送信する(S733)。クライアント端末10は、リダイレクト画面に指定されているURLおよびSSOIDを含むリクエストをリバースプロキシサーバ21に送信する(S734)。
【0076】
リバースプロキシサーバ21は、リクエストに含まれているSSOIDを設定した認証確認クエリを認証サーバ23に送信し(S735)、認証サーバ23は、認証確認クエリに応じてSSOセッション情報を確認し、認証確認結果をリバースプロキシサーバ21に送信する(S736)。リバースプロキシサーバ21は、認証サーバ23から受信した認証確認結果が、利用者が認証されていないことを示す場合(S737:NO)、エラー画面をクライアント端末10に送信し(S738)、クライアント端末10は、受信したエラー画面を表示する(S739)。
【0077】
一方、認証確認結果が、利用者が認証されていることを示す場合(S737:YES)、リバースプロキシサーバ21は、新たにセッションIDを生成し、生成したセッションID、現在時刻から所定時間後の有効期限、およびリクエストに含まれるSSOIDを含むセッション情報を生成してセッション情報記憶部37に登録し(S740)、所定の業務画面をURLとして指定したリクエストをWebサーバ22に送信する(S741)。
【0078】
Webサーバ22は、リバースプロキシサーバ21からのリクエストに応じて業務画面を業務画面記憶部33から読み出して、読み出した業務画面をリバースプロキシサーバ21に送信する(S742)。リバースプロキシサーバ21は、Webサーバ22から受信した業務画面をクライアント端末10に転送する(S743)。
クライアント端末10は、リバースプロキシサーバ21から受信した業務画面を表示する(S744)。
【0079】
ここで上記所定時間を超える時間が経過したものとする(S745)。
クライアント端末10は、利用者の操作を受け付けて(S746)、業務画面を示すURL、セッションIDおよびSSOIDを含むリクエストをリバースプロキシサーバ21に送信する(S747)。
【0080】
リバースプロキシサーバ21は、クライアント端末10からリクエストを受信すると、リクエストに含まれるセッションIDおよびSSOIDに対応するセッション情報をセッション情報記憶部37から読み出し、読み出したセッション情報に含まれる有効期限が現在時刻以後であるかどうかにより、通信セッションが有効かどうかを判定する(S748)。
【0081】
通信セッションが有効であれば(S749:YES)、受信したリクエストに含まれているURLを設定したリクエストをWebサーバ22に送信し(S750)、Webサーバ22は、リバースプロキシサーバ21からのリクエストに応じて業務画面を送信し(S751)、リバースプロキシサーバ21は、Webサーバ22から受信した業務画面をクライアント端末10に送信して(S752)、クライアント端末10では業務画面が表示される(S753)。
【0082】
一方、通信セッションが有効でない場合には(S749:NO)、リバースプロキシサーバ21は、認証サーバ23が管理する認証画面をURLとして指定したリダイレクトが面に拡大プログラムを付帯させてクライアント端末10に送信する(S754)。
【0083】
クライアント端末10は、リバースプロキシサーバ21からリダイレクト画面を受信すると、付帯されている拡大プログラムを実行して(S755)、表示先フレーム領域の面積が拡大した後に、認証サーバ23にリクエストを送信する(S756)。
【0084】
認証サーバ23は、クライアント端末10からのリクエストに応じて、認証画面を送信し(S757)、クライアント端末10は、認証サーバ23から受信した認証画面を表示し(S758)、認証画面を介してSSOIDおよびパスワードの入力を受け付ける(S759)。クライアント端末10は、入力されたSSOIDおよびパスワードを設定したリクエストを認証サーバ23に送信する(S760)。
【0085】
認証サーバ23は、クライアント端末10から受信したリクエストに含まれているSSOIDおよびパスワードに基づいて利用者の認証処理を行う(S761)。利用者の認証に失敗した場合(S762:NO)、認証サーバ23は、認証に失敗した旨を示すWebページをクライアント端末10に送信し(S763)、クライアント端末10は、受信したWebページを表示する(S764)。
【0086】
一方、認証サーバ23は、利用者の認証に成功した場合には(S762:YES)、リクエストに含まれるSSOIDに対応するSSOセッション情報の有効期限を、現在時刻から所定時間後の時刻に更新する(S765)。認証サーバ23は、検証URLを指定したリダイレクト画面をクライアント端末10に送信する(766)。
【0087】
クライアント端末10は、認証サーバ23から受信したリダイレクト画面に指定されている検証URLと、セッションIDおよびSSOIDを指定したリクエストをリバースプロキシサーバ21に送信する(S767)。
【0088】
リバースプロキシサーバ21は、クライアント端末10から受信したリクエストに含まれるSSOIDを設定した認証確認クエリを認証サーバ23に送信する(S768)。認証サーバ23は、リバースプロキシサーバ21から受信した認証確認クエリに設定されているSSOIDに対応するSSOセッション情報をSSOセッション情報記憶部38から読み出し、読み出したSSOセッション情報の有効期限が現在時刻以後であるかどうかにより、利用者が認証されているかどうかを判定して、判定の結果を示す認証確認情報をリバースプロキシサーバ21に送信する(S769)。
【0089】
リバースプロキシサーバ21は、認証サーバ23から受信した認証確認結果が、利用者が認証されていないことを示す場合には(S770:NO)、エラー画面をクライアント端末10に送信し(S771)、クライアント端末10は、受信したエラー画面を表示する(S772)。
【0090】
一方、認証確認結果が、利用者が認証されていることを示す場合には(S770:YES)、リクエストに含まれているセッションIDおよびSSOIDに対応するセッション情報の有効期限を、現在時刻から所定時間後の時刻に更新し(S773)、所定の業務画面したリダイレクト画面に復元プログラムを付帯させてクライアント端末10に送信する(S774)。
【0091】
クライアント端末10は、受信したリダイレクト画面に付帯されている復元プログラムを実行して、表示先フレーム領域のサイズを復元した後に(S775)、リダイレクト画面に指定されている業務画面を示すURLと、セッションIDと、SSOIDとを設定したリクエストをリバースプロキシサーバ21に送信する(S776)。
【0092】
リバースプロキシサーバ21は、受信したリクエストに設定されているセッションIDおよびSSOIDに対応するセッション情報の有効期限に基づいて、通信セッションが有効かどうかを判定し(S777)、通信セッションが有効であれば(S778:YES),リクエストに指定されているURLを設定したリクエストをWebサーバ22に送信する(S779)。Webサーバ22は、リバースプロキシサーバ21から受信したリクエストに応じて業務画面をリバースプロキシサーバ21に送信し(S780)、リバースプロキシサーバ21は、Webサーバ22から受信した業務画面をクライアント端末10に転送し(S781)、クライアント端末10は、受信した業務画面を表示する(S782)。
【0093】
以上説明したように、本実施形態のSSO構成の情報処理システムにおいても、上述したWebサーバ20と同様に、表示先フレーム領域に認証画面が表示される場合には、先にリダイレクト画面に拡大プログラムを付帯させてクライアント端末10に送信しておくことで、表示先フレーム領域の表示面積を拡大することができる。したがって、利用者は認証情報の入力を容易に行うことができる。また、認証画面に注意書きなどが表示されている場合にも、フレーム領域の面積が拡大されたことにより、利用者は容易にその注意書きなどを視認することができる。
【0094】
また、利用者の認証に成功した後は、業務画面を表示するに先立って、復元プログラムをリダイレクト画面に付帯させてクライアント端末10に送信し、クライアント端末10において表示先フレーム領域のサイズを復元しておくことができる。したがって、利用者は、認証後は元通りの画面のレイアウトで作業を進めることができるので便利である。
【0095】
なお、本実施形態の情報処理システムでは、リクエストにはセッションIDまたはSSOセッションIDと、ユーザIDまたはSSOIDとが含まれているものとしたが、セッションIDまたはSSOセッションIDのみが含まれるようにしてもよい。
【0096】
また、本実施形態の情報処理システムでは、認証情報としてユーザID(またはSSOID)とパスワードとを用いるものとしたが、これに限らず、例えば電子証明書などを用いるようにしてもよい。
【0097】
また、本実施形態の情報処理システムでは、拡大プログラムは、幅および高さを最大化させるものとしたが、これに限らず、表示先フレーム領域の面積が大きくなるように、幅および高さの少なくとも一方を増加させればよい。
【0098】
また、本実施形態の情報処理システムでは、表示先フレーム領域の幅および高さを、フレームセットの属性として記憶しておくものとしたが、これに限らず、Webページ(ドキュメントオブジェクト)の属性に記憶するようにしてもよいし、クッキーとして記憶するようにしてもよい。
【0099】
また、SSO構成の情報処理システムでは、クライアント端末10とリバースプロキシサーバ21との間の通信セッションと、クライアント端末10と認証サーバ23との間の通信セッションとは異なるものとしたが、例えば、同一のセッションIDを共有して通信セッションを引き継ぐようにしてもよい。この場合、セッションIDは、リバースプロキシサーバ21と認証サーバ23とが同一のドメインに所属している場合には、クッキーに格納するようにすることができるし、ドメインが異なる場合には、URLの一部としてセッションIDを埋め込むようにすることもできる。さらに、業務画面や認証画面、リダイレクト画面などに、セッションIDを添付するような、例えば、JavaScriptやJava(登録商標)により記述されるプログラムを付帯させるようにしてもよい。
【0100】
また、SSO構成の情報処理システムにおいて、リバースプロキシサーバ21とWebサーバ22とを同一の情報処理装置とするようにしてもよい。
【0101】
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【図面の簡単な説明】
【0102】
【図1】本実施形態の情報処理システムの全体構成を示す図である。
【図2】Webサーバ20のハードウェア構成を示す図である。
【図3】Webサーバ20のソフトウェア構成を示す図である。
【図4】セッション情報の構成例を示す図である。
【図5】認証情報の構成例を示す図である。
【図6】認証画面の一例である画面41を示す図である。
【図7】業務画面の一例である画面42を示す図である。
【図8】複数のフレーム領域に業務画面が表示されたWebページの一例である画面43を示す図である。
【図9】拡大プログラムが実行される場合の処理の流れを示す図である。
【図10】復元プログラムが実行される場合の処理の流れを示す図である。
【図11】リクエストに応じて業務画面または認証画面を送信する処理の流れを示す図である。
【図12】クライアント端末10とWebサーバ20との間で行われる通信の様子を説明する図である。
【図13】クライアント端末10とWebサーバ20との間で行われる通信の様子を説明する図である。
【図14】クライアント端末10に表示される画面例を図14に示す。
【図15】SSO構成の情報処理システムの全体構成を示す図である。
【図16】SSO構成の情報処理システムにおけるソフトウェア構成を示す図である。
【図17】セッション情報記憶部37の構成例を示す。
【図18】SSOセッション情報記憶部38の構成例を示す図である。
【図19】クライアント端末10からリクエストを受信した場合のリバースプロキシサーバ21の処理の流れを示す図である。
【図20】SSO構成の情報処理システムにおける通信の様子を説明する図である。
【図21】SSO構成の情報処理システムにおける通信の様子を説明する図である。
【図22】SSO構成の情報処理システムにおける通信の様子を説明する図である。
【符号の説明】
【0103】
10 クライアント端末
20 Webサーバ
21 リバースプロキシサーバ
22 Webサーバ
23 認証サーバ
30 通信ネットワーク
201 CPU
202 メモリ
203 記憶装置
204 通信装置
205 入力装置
211 リクエスト受信部
212 認証要否判定部
213 認証画面送信部
214 認証処理部
215 業務画面送信部
31 セッション情報記憶部
32 認証情報記憶部
33 業務画面記憶部
34 認証画面記憶部
35 拡大プログラム記憶部
36 復元プログラム記憶部
37 セッション情報記憶部
38 SSOセッション情報記憶部

【特許請求の範囲】
【請求項1】
利用者端末と通信可能に接続し、複数のフレーム領域を有するWebページの画面データを前記利用者端末に送信する情報処理装置であって、
前記フレーム領域の1つに表示させる認証情報入力画面と、前記認証情報入力画面が表示される前記フレーム領域の面積を拡大させるプログラムとを前記利用者端末に送信する認証情報入力画面送信部を備えること、
を特徴とする情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記認証情報入力画面を介して入力された認証情報を前記利用者端末から受信する認証情報受信部と、
前記認証情報に基づいて利用者の認証を行う認証処理部と、
前記認証に成功した場合、前記認証情報入力画面が表示された前記フレーム領域の面積を縮小させるプログラムを前記利用者端末に送信する縮小プログラム送信部と、
を備えることを特徴とする情報処理装置。
【請求項3】
請求項2に記載の情報処理装置であって、
前記フレーム領域の面積を拡大させるプログラムは、各前記フレーム領域の幅および高さを前記利用者端末に記憶させ、前記認証情報入力画面が表示される前記フレーム領域の幅および高さの少なくともいずれかを増加させるプログラムであり、
前記フレーム領域の面積を縮小させるプログラムは、各前記フレーム領域の幅および高さを、前記利用者端末に記憶されている前記幅および前記高さに設定するプログラムであること、
を特徴とする情報処理装置。
【請求項4】
請求項1に記載の情報処理装置であって、
前記認証情報入力画面送信部は、前記情報処理装置と前記利用者端末との間の通信セッションがタイムアウトした場合に、前記認証情報入力画面と前記フレーム領域の面積を拡大させるプログラムとを前記利用者端末に送信すること、
を特徴とする情報処理装置。
【請求項5】
複数のフレーム領域を有するWebページを表示している利用者端末と、利用者の認証を行う認証サーバとのそれぞれと通信可能に接続し、前記利用者端末からのリクエストを受け付ける情報処理装置であって、
第1の前記リクエストに応じて、前記認証サーバに第2のリクエストを送信するように要求するリダイレクト要求と、前記認証サーバから送信される認証情報入力画面が表示される前記フレーム領域の1つの面積を拡大させるプログラムとを前記利用者端末に送信するリダイレクト要求送信部を備えること、
を特徴とする情報処理装置。
【請求項6】
請求項5に記載の情報処理装置であって、
前記フレーム領域に表示させる情報表示画面を記憶するWebサーバと通信可能に接続し、
前記第1のリクエストに利用者を特定する情報が含まれている場合、利用者が認証されているかどうかを問い合わせる認証問合せ要求を前記認証サーバに送信し、前記認証サーバからの応答に基づいて、前記利用者が認証されているかどうかを判定する認証要否判定部と、
前記利用者が認証されている場合、前記Webサーバに対して前記第1のリクエストに指定されている前記情報表示画面の取得要求を送信し、前記取得要求に応じて前記Webサーバから送信される前記情報表示画面を受信する情報表示画面取得部と、
前記情報表示画面に、前記認証情報入力画面が表示された前記フレーム領域の面積を縮小させるプログラムを付帯させて前記利用者端末に送信する情報表示画面送信部と、
を備えることを特徴とする情報処理装置。
【請求項7】
請求項6に記載の情報処理装置であって、
前記フレーム領域の面積を拡大させるプログラムは、各前記フレーム領域の幅および高さを前記利用者端末に記憶させ、前記認証情報入力画面が表示される前記フレーム領域の幅および高さの少なくともいずれかを増加させるプログラムであり、
前記フレーム領域の面積を縮小させるプログラムは、各前記フレーム領域の幅および高さを、前記利用者端末に記憶されている前記幅および前記高さに設定するプログラムであること、
を特徴とする情報処理装置。
【請求項8】
請求項5に記載の情報処理装置であって、
前記認証情報入力画面送信部は、前記情報処理装置と前記利用者端末との間の通信セッションがタイムアウトした場合に、前記認証情報入力画面と前記フレーム領域の面積を拡大させるプログラムとを前記利用者端末に送信すること、
を特徴とする情報処理装置。
【請求項9】
利用者端末と通信可能に接続し、複数のフレーム領域を有するWebページの画面データを前記利用者端末に送信する情報処理装置が、
前記フレーム領域の1つに表示させる認証情報入力画面と、前記認証情報入力画面が表示される前記フレーム領域の面積を拡大させるプログラムとを前記利用者端末に送信すること、
を特徴とする情報処理方法。
【請求項10】
請求項9に記載の情報処理方法であって、
前記情報処理装置が、
前記認証情報入力画面を介して入力された認証情報を前記利用者端末から受信し、
受信した前記認証情報に基づいて利用者の認証を行い、
前記認証に成功した場合、前記認証情報入力画面が表示された前記フレーム領域の面積を縮小させるプログラムを前記利用者端末に送信すること、
を特徴とする情報処理装置。

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

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2008−287599(P2008−287599A)
【公開日】平成20年11月27日(2008.11.27)
【国際特許分類】
【出願番号】特願2007−133226(P2007−133226)
【出願日】平成19年5月18日(2007.5.18)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】