情報処理システム、その制御方法、及びプログラム
【課題】外部装置のWebサーバと連携して動作するWebブラウザを有する情報処理装置において、Webブラウザでの操作感を踏襲したままログアウトの手続きを簡略化する情報処理システムを提供する。
【解決手段】本情報処理システムは、Webサーバから提供されたWebブラウザの操作画面を介して入力されたユーザ指示をイベントとしてWebサーバに対して通知する。ここで、Webサーバは、通知されたイベントを解析し、当該イベントがログアウト要求であれば、Webサーバのログアウト処理を実行するとともに、Webブラウザに対してログアウト要求を通知する。Webブラウザは、Webサーバからログアウト要求を受信するとWebブラウザのログアウト処理を実行する。
【解決手段】本情報処理システムは、Webサーバから提供されたWebブラウザの操作画面を介して入力されたユーザ指示をイベントとしてWebサーバに対して通知する。ここで、Webサーバは、通知されたイベントを解析し、当該イベントがログアウト要求であれば、Webサーバのログアウト処理を実行するとともに、Webブラウザに対してログアウト要求を通知する。Webブラウザは、Webサーバからログアウト要求を受信するとWebブラウザのログアウト処理を実行する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバと、当該サーバにより提供される操作画面を表示するためのブラウザを有する情報処理装置とを備える情報処理システム、その制御方法及びプログラムに関するものである。
【背景技術】
【0002】
近年、プリンタやスキャナ機能を備えたMFP(Multi Function Peripheral)と呼ばれる画像形成装置では、Webブラウザを搭載し、PC(Personal Computer)を介さず直接Webサーバにアクセスしている。これにより、MFPでは、Webコンテンツを印刷したり、Webアプリケーションを操作したりすることができる。
【0003】
また、このようなWebブラウザを備えたMFPにおいて、本来MFPが有する機能を実行するための操作画面が外部のWebサーバから提供され、それをWebブラウザ上で操作するという形態のシステムが提案されている。このようなシステムでは、MFPのユーザは、Webブラウザ上に表示された操作画面を介して、MFPに対する指示を入力し、入力された指示はMFPのWebブラウザによってWebサーバに送信される。指示を受信したWebサーバは、ユーザから入力された指示の内容にしたがって、MFPに対して各種処理の実行を依頼する。そして、この依頼を受けたMFPは、依頼された処理を実行する。これにより、MFPを操作するための全操作画面情報をMFP内で保持しておく必要がなくなり、また操作画面の変更も、Webサーバ上で一般的なWebアプリケーションを変更するのと同様の方法で行うことができる。
【0004】
しかし、このようなシステムにおいて、MFPとWebサーバの双方でユーザのログイン状態を管理するためには、ログイン、ログアウトの操作をそれら双方で行うことをユーザに強いることがあった。一方、特許文献1には、Webブラウザを備えたMFPにおいて、MFPへのログイン時に特定のWebサーバへログイン情報を送信することや、MFPのログアウト時にそのWebサーバへログアウト情報を送信することが提案されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−83809号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記従来技術では、Webサーバが提供する操作画面でWebブラウザ上にログアウトの操作ボタンを表示させたとしても、Webサーバへログアウトの要求が送信されるだけであり、MFPのログアウトは行われない。このため、MFPのログアウトを別途操作する必要があり、ユーザに余計な手間が掛かってしまうという問題があった。
【0007】
一方、特許文献1に記載の技術では、ログアウト用のハードキーをユーザに操作させることにより、MFPのログアウトによってMFPとWebサーバとの双方からログアウトできる。しかし、ユーザとしては、Webブラウザに表示された画面を操作しているため、ログアウトの指示もWebブラウザの画面上で行いたいという要望がある。つまり、Webブラウザにおいて操作を一貫的に行うことができず、ユーザに煩わしさを与えてしまうという問題があった。
【0008】
本発明は、上述の問題に鑑みて成されたものであり、外部装置のWebサーバと連携して動作するWebブラウザを有する情報処理装置において、Webブラウザでの操作感を踏襲したままログアウトの手続きを簡略化する情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明は、例えば、サーバ機能を有する外部装置と、ブラウザ機能を有する情報処理装置とを備え、各装置でユーザ認証を行う情報処理システムとして実現できる。情報処理装置は、外部装置から提供された操作画面を介して入力されたユーザ指示を示すイベントを解析し、外部装置に対して通知するイベント通知手段と、外部装置からログアウト要求を受信すると、情報処理装置のログアウト処理を実行する第1ログアウト手段とを備え、外部装置は、情報処理装置から通知されたイベントを解析し、イベントがログアウト要求であるか否かを判定する判定手段と、イベントがログアウト要求であると、情報処理装置にログアウト要求を通知するログアウト通知手段と、ログアウト要求を通知すると、外部装置のログアウト処理を実行する第2ログアウト手段とを備えることを特徴とする。
【発明の効果】
【0010】
本発明は、例えば、外部装置のWebサーバと連携して動作するWebブラウザを有する情報処理装置において、Webブラウザでの操作感を踏襲したままログアウトの手続きを簡略化する情報処理システムを提供できる。
【図面の簡単な説明】
【0011】
【図1】第1の実施形態に係る情報処理システム100を示す図である。
【図2】第1の実施形態に係る情報処理システム100の制御構成を示す図である。
【図3】第1の実施形態に係る情報処理システム100機能構成を示す図である。
【図4】第1の実施形態に係るログインアプリケーション430におけるログイン時の処理手順を示すフローチャートである。
【図5】ログイン画面の一例を示す図である。
【図6】第1の実施形態に係るWebブラウザ440におけるログイン時の処理手順を示すフローチャートである。
【図7】第1の実施形態に係るWebアプリケーション410におけるログイン時の処理手順を示すフローチャートである。
【図8】第1の実施形態に係るメニュー画面の一例を示す図である。
【図9】第1の実施形態に係るWebブラウザ440におけるイベント発生時の処理手順を示すフローチャートである。
【図10】第1の実施形態に係るWebアプリケーション410におけるイベント発生時の処理手順を示すフローチャートである。
【図11】第1の実施形態に係るエラー画面の一例を示す図である。
【図12】第1の実施形態に係るサービスプロバイダ450における処理実行依頼を受信した際の処理手順を示すフローチャートである。
【図13】第1の実施形態に係るWebブラウザ440におけるログアウトイベントを受信した際の処理手順を示すフローチャートである。
【図14】第2の実施形態に係るWebアプリケーション410におけるイベント発生時の処理手順を示すフローチャートである。
【図15】第2の実施形態係るMFPログアウト画面の一例を示す図である。
【図16】第3の実施形態に係るWebアプリケーション410におけるログアウト時の処理手順を示すフローチャートである。
【図17】第4の実施形態に係るWebブラウザ440におけるイベント発生時の処理手順を示すフローチャートである。
【図18】第4の実施形態の変形例に係るWebブラウザ440におけるイベント発生時の処理手順を示すフローチャートである。
【図19】第5の実施形態に係るWebブラウザ440におけるイベント発生時の処理手順を示すフローチャートである。
【図20】第5の実施形態に係るWebアプリケーション410におけるイベント発生時の処理手順を示すフローチャートである。
【図21】第5の実施形態の変形例に係るWebアプリケーション410におけるイベント発生時の処理手順を示すフローチャートである。
【図22】第5の実施形態の変形例に係るWebアプリケーション410におけるイベント発生時の処理手順を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【0013】
<第1の実施形態>
<情報処理システムの構成>
まず、本発明に係る第1の実施形態について説明する。まず、図1を参照して、本実施形態に係る情報処理システム100の構成例について説明する。情報処理システム100は、MFP101、Webサーバ102、及びLDAP(Lightweight Directory Access Protocol)サーバ103を備える。ネットワーク110は、LAN(Local Area Network)やインターネットなどであり、MFP101、Webサーバ102、LDAPサーバ103が接続されている。なお、情報処理システム100には、電子文書を保存/管理するための文書管理装置や、電子メールを送受信するためのメールサーバ、PCなどが接続されていてもよい。MFP101は、情報処理装置の一例であり、プリント機能、コピー機能、スキャナ機能、送信機能、Webブラウザ機能などの複数の機能を有する。Webサーバ102は、外部装置の一例であり、Webサーバ機能を有するパーソナルコンピュータである。LDAPサーバ103は、管理サーバの一例であり、ユーザの認証情報(識別子)を保持し、MFP101等からの問い合わせに対してユーザ認証を行い、結果を送信する。なお、各装置の詳細については後述する。
【0014】
<情報処理システムの制御構成>
次に、図2を参照して、本実施形態に係る情報処理システム100の制御構成の一例について説明する。ここでは、MFP101とWebサーバ102の制御構成について説明する。なお、LDAPサーバ103の制御構成は、Webサーバ102の制御構成と同様であるため説明を省略する。
【0015】
まず、MFP101の制御構成について説明する。CPU211を含む制御部210は、MFP101の動作を統括的に制御する。なお、219は制御部210内の各ブロックを接続するバスである。CPU211は、ROM212に記憶された制御プログラムを読み出して、読取制御や送信制御などの各種制御処理を実行する。RAM213は、CPU211の主メモリ、ワークエリアなどの一時記憶領域として用いられる。HDD214は、画像データや各種プログラムを記憶する。
【0016】
操作部I/F215は、制御部210と操作部220とを接続する。操作部220には、タッチパネル機能を有する液晶表示部やキーボードなどが備えられている。また、MFP101には後述するWebブラウザ機能が備えられている。MFP101のWebブラウザは、Webサーバ102から受信した画面情報であるHTMLファイルを解析し、解析結果に基づいて操作画面を操作部220上に表示する。
【0017】
プリンタI/F216は、制御部210とプリンタ221とを接続する。プリンタ221で印刷すべき画像データはプリンタI/F216を介して制御部210からプリンタ221に転送され、プリンタ221において用紙などの記録媒体上に印刷される。スキャナI/F217は、制御部210とスキャナ222とを接続する。スキャナ222は、スキャナ222にセットされた原稿上の画像を読み取って画像データを生成し、スキャナI/F217を介して制御部210に入力する。ネットワークI/F218は、制御部210をネットワーク110に接続し、ネットワーク110上の外部装置との情報の送受信を行う。
【0018】
次に、Webサーバ102の制御構成について説明する。CPU311を含む制御部310は、Webサーバ102の動作を統括的に制御する。なお、316は、制御部310内の各ブロックを接続するバスである。CPU311は、ROM312に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御処理を実行する。RAM313は、CPU311の主メモリ、ワークエリアなどの一時記憶領域として用いられる。HDD314は、画像データや各種プログラムを記憶する。ネットワークI/F315は、制御部310をネットワーク110に接続し、ネットワーク110上の外部装置との情報の送受信を行う。
【0019】
<情報処理システムの機能構成>
次に、図3を参照して、本実施形態に係る情報処理システム100機能構成について説明する。図3に示す各機能部は、MFP101、Webサーバ102、LDAPサーバ103のそれぞれに備えられているCPUが制御プログラムを実行することにより実現される。
【0020】
まず、MFP101の機能構成について説明する。MFP101は、ログインアプリケーション430、Webブラウザ440、サービスプロバイダ450、及びログ記録部460を備える。ログインアプリケーション430は、画面表示部431と認証処理部432とを含む。画面表示部431は、認証処理部432が実行する認証処理に必要な認証情報をユーザに入力させるための認証画面を操作部220に表示する。なお、この認証画面は、Webサーバ102により提供されるものではなく、ログインアプリケーション430がMFP101内に保持している情報を読み出して表示するものである。認証処理部432は、画面表示部431により表示された認証画面を介して入力された認証情報を用いてMFP101へのログイン処理を行う。具体的には、入力された認証情報をLDAPサーバ103に問合せ、その問合せ結果に応じてログイン処理を実行するか否かを判断する。また、ログアウト要求に応じてMFP101からのログアウト処理を行う。
【0021】
Webブラウザ440は、画面イベント処理部441、解析部442、画面表示部443、ログイン管理部444を含む。画面イベント処理部441は、画面表示部443で表示している画面に対して行われるユーザの操作を検知し、その操作内容に応じた処理を行う。特に、Webサーバ102のWebアプリケーション410に対して要求を行う操作が行われた場合には、HTTPプロトコルに従ってWebアプリケーション410のプレゼンテーション部411と通信を行う。解析部442は、Webアプリケーション410から受信する画面情報であるHTMLファイルを解析する。このHTMLファイルには、Webブラウザ440に表示すべき操作画面の内容を示す記述が含まれる。画面表示部443は、解析部442による解析の結果に基づいて、操作部220上に操作画面を表示する。ログイン管理部444は、ログインアプリケーション430からログインイベント又はログアウトイベントの通知を受付け、それらの通知に応じて処理を行う。
【0022】
サービスプロバイダ450は、依頼受付部451及びジョブ生成部452を含む。依頼受付部451は、Webアプリケーション410内のロジック部412から処理実行依頼を受信し、その処理実行依頼をジョブ生成部452に渡す。また、依頼受付部451は、ジョブ生成部452からの実行結果に基づいて、Webアプリケーション410内のロジック部412に応答する。ジョブ生成部452は、Webアプリケーション410から送られてきた処理実行依頼からジョブを生成して実行する。ジョブを実行した結果はログ記録部460に記録される。なお、ログ記録部460には、ログインアプリケーションによって実行されるログイン、ログアウトの結果や、Webサーバ102との通信履歴なども記録される。
【0023】
続いて、Webサーバ102の機能構成について説明する。Webサーバ102は、Webアプリケーション410及びログ記録部420を含む。さらに、Webアプリケーション410は、プレゼンテーション部411、ロジック部412及びセッション管理部413を含む。
【0024】
プレゼンテーション部411は、MFP101が備えるWebブラウザ440と通信する。より具体的には、ユーザの指示などに伴うMFP101のWebブラウザ440からの要求を受信し、必要に応じてロジック部412に処理を行わせる。また、プレゼンテーション部411は、MFP101のWebブラウザ440からの要求やロジック部412の処理結果に応じてMFP101のWebブラウザ440に表示すべき操作画面の画面情報を生成し、MFP101のWebブラウザ440に送信する。
【0025】
ロジック部412は、プレゼンテーション部411が受け取った要求に応じて、各種処理を実行するとともに、MFP101のサービスプロバイダ450に対して、MFP101が備える機能の実行を要求する。具体的には、MFP101のプリンタ221による印刷処理の実行や、スキャナ222による読取処理の実行、又はネットワークI/F218を介した送信処理の実行を要求する。なお、このMFP101への実行要求は、Webブラウザ440とは別の接続で行われる。
【0026】
セッション管理部413は、MFP101からのログイン要求であるメニュー画面要求から、ログアウト要求が行われるまでのWebブラウザ440との通信に関して、状態及びデータの一時保存のためのセッション情報の管理を行う。なお、Webアプリケーション410で行われた処理、MFP101への実行要求及びその応答結果は、ログ記録部420に記録される。
【0027】
次に、LDAPサーバ103の機能構成について説明する。LDAPサーバ103は、認証情報管理部470と認証情報記憶部480とを含む。認証情報記憶部480には、MFP101の使用が許可されたユーザに対応する認証情報が予め記憶されている。認証情報管理部470は、認証情報記憶部480に記憶されている認証情報を管理する。また、認証情報管理部470は、MFP101のログインアプリケーション430から認証の問合せを受けた場合、問合せによって受け取った認証情報と認証情報記憶部480に記憶されている認証情報とを照合する。そして、その照合結果に応じて認証可否をログインアプリケーション430に返す。
【0028】
<ログイン時における各ブロックの動作>
次に、図4乃至図8を参照して、情報処理システム100におけるログイン時の動作に関する各機能ブロックの処理について説明する。まず、図4を参照して、本実施形態におけるログインアプリケーション430の動作について説明する。以下で説明する処理は、MFP101のCPU211が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、ログインアプリケーション430は、各ステップの処理に関する情報をログ記録部460に記録する。また、以下で説明するSに続く番号は、各処理のステップ番号を示す。
【0029】
S501において、画面表示部431は、操作部220にログイン画面を表示する。図5は、ログイン画面の一例を示す図である。ユーザはログインするために、図5に示すログイン画面601のユーザID入力欄602にユーザID(識別子)、パスワード入力欄603にパスワードを入力する。
【0030】
S502において、認証処理部432は、ユーザからログイン画面601を介して認証情報が入力されたか否かを判定する。具体的には、認証処理部432は、画面表示部431が表示しているログイン画面601のOKボタン604が押下されたか否かを判定する。OKボタン604が押下されていなければ、押下されるまで待機し、押下されるとS503に進む。
【0031】
続いて、S503において、認証処理部432は、ユーザによって入力されたユーザID及びパスワードを用いてログイン判定処理を行う。このとき、認証処理部432は、LDAPサーバ103に、ユーザによって入力されたユーザID及びパスワードを送信し、ログイン判定(ユーザ認証)の結果を要求する。なお、要求先であるLDAPサーバ103のアドレスは事前に設定されている。LDAPサーバ103は、認証情報管理部470によって認証処理部432からの要求を受け取る。その後、認証情報管理部470は、受け取ったユーザIDに基づいて、認証情報記憶部480に予め登録されているパスワードと受け取ったパスワードとを照合し、一致すればログインOKを、不一致であればログインNGを認証処理部432に返す。また、受け取ったユーザIDが認証情報記憶部480に登録されていない場合もログインNGを認証処理部432に返す。なお、LDAPサーバ103は、この動作以外に、ユーザ毎の固有の設定情報や権限の情報などを保持していて、ログインOKを返す際にそれらの情報を合わせて認証処理部432に返してもよい。このようなLDAPサーバ103の一連の動作は、LDAPサーバ103のCPU311が制御プログラムを実行することにより実現される。
【0032】
LDAPサーバ103から応答を受信すると、S504において、認証処理部432は、認証情報管理部470からログインOKを返されたか否かを判定する。ログインOKを返されたならばS506に進み、そうでない場合(ログインNGの場合)はS505に進む。S505において、画面表示部431は、図5に示すように、ログインエラーを表すメッセージ702を付加したログインエラー画面701を操作部220に表示し、S502に戻る。
【0033】
一方、S506において、ログインアプリケーション430は、ログインしたユーザに対応するログインコンテキストを生成する。ログインコンテキストは、ログインしたユーザを示す情報であり、図5に示すログイン画面601、701において入力されたユーザIDを含む。また、それ以外に、ログインしたときの日時やログインセッションを一意に識別するセッションIDなどを含んでもよい。また、LDAPサーバ103からユーザ固有の設定情報などを受け取る場合には、それらを含んでもよい。
【0034】
次に、S507において、ログインアプリケーション430は、ユーザがログインしたこと(ログインイベント)をWebブラウザ440に対して通知する。続いて、S508において、ログインアプリケーション430は、ログアウト要求を受信したか否かを判定し、受信するまで待機する。ログアウト要求を受信するとS509に進む。
【0035】
ログアウト要求を受信すると、S509において、ログインアプリケーション430は、S506で生成したログインコンテキストを削除する。これによって、ログインしたユーザはログアウトしたことになる。続いて、S510において、ログインアプリケーション430は、ユーザがログアウトしたこと(ログアウトイベント)をWebブラウザ440に対して通知する。そして、S511において、ログインアプリケーション430は、ログアウト要求に対してログアウト処理が終了したことを応答し、S501に戻ってMFP101の操作部220にログイン画面601を表示する。
【0036】
次に、図6を参照して、ログインイベントを受信した際のWebブラウザ440の動作について説明する。以下で説明する処理は、MFP101のCPU211が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webブラウザ440は、各ステップの処理に関する情報をログ記録部460に記録する。
【0037】
ログインイベントの通知を受信すると、S801において、ログイン管理部444は、ログインアプリケーション430からログインコンテキストを取得する。そして、S802において、ログイン管理部444は、取得したログインコンテキストからユーザIDを抽出し、保持する。続いて、S803において、ログイン管理部444は、MFP101を操作するためのメニュー画面をWebサーバ102のWebアプリケーション410から取得するために、Webアプリケーション410にログイン要求を行う。このとき、S802で抽出したユーザIDを要求に付加して送信する。なお、要求先であるWebサーバ102のアドレスは、Webブラウザ440で予め記憶している。また、ここで、要求には、ユーザIDを付加しているが、ユーザIDを抽出せずにログインコンテキスト自体を要求に付加してもよいし、それらに加えて要求元であるMFP101のIPアドレスなども付加してもよい。最後に、S804において、Webブラウザ440は、S803での要求の応答として受信した画面情報を解析部442によって解析し、画面表示部443によってMFP101の操作部220に操作画面を表示する。
【0038】
次に、図7を参照して、ログイン要求を受信した際のWebアプリケーション410の動作について説明する。以下で説明する処理は、Webサーバ102のCPU311が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webアプリケーション410は、各ステップの処理に関する情報をログ記録部420に記録する。
【0039】
S901において、Webアプリケーション410は、受信した要求にユーザIDが含まれるか否かを判定する。含まれる場合はS902に進み、含まれない場合はS905に進む。S902において、セッション管理部413は、MFP101にログインしたユーザからの接続に対するセッション情報を生成する。セッション情報は、セッションIDや受信した要求に含まれるユーザIDを含み、さらにWebブラウザ440で表示させている操作画面のIDなど、Webアプリケーション410のステータス情報を含む。これらの情報は、不正な要求や重複する要求を受け付けるのを防止するために利用される。セッション情報は、セッション情報に対応するユーザIDのログアウト要求を受信するまでの間、セッション管理部413において保持される。
【0040】
続いて、S903において、プレゼンテーション部411は、MFP101を操作するためのメニュー画面の情報を生成する。ここで、図8を参照して、MFP101に表示されることになるメニュー画面について説明する。メニュー画面1001において、ボタン1002〜1005は、それぞれMFP101が備えるコピー、送信、スキャン、プリントの各機能を実行するためのボタンである。また、1010は、Webアプリケーション410とのセッションを終了するためのログアウトボタンである。その後、S904において、セッション管理部413は、保持しているセッション情報に含まれるステータス情報を、生成された画面情報の画面IDによって更新する。
【0041】
一方、S901で要求にユーザIDが含まれないと判定されると、S905において、プレゼンテーション部411は、受信した要求が不正である旨の表示を行うエラー画面1101の画面情報を生成する。エラー画面1101の一例については図8に示す。これによって、MFP101にログインしたユーザ以外からの要求を拒絶する。
【0042】
その後、S906において、プレゼンテーション部411は、S903又はS905で生成された画面情報をWebブラウザ440に応答として送信する。送信された画面情報は、Webブラウザ440によってMFP101の操作部220に表示されることになる。
【0043】
<イベント発生時における各ブロックの動作>
次に、図9乃至図13を参照して、Webアプリケーション410への要求イベントが発生した際の情報処理システム100における各機能ブロックの動作について説明する。まず、図9を参照して、要求イベントが発生したときのWebブラウザ440の処理について説明する。以下で説明する処理は、MFP101のCPU211が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webブラウザ440は、各ステップの処理に関する情報をログ記録部460に記録する。ここで、Webアプリケーション410への要求イベント(ユーザ指示)は、メニュー画面1001のコピーや送信などの機能を実行する各ボタン1002〜1005やログアウトボタン1010がユーザによって押下されることにより発生する。
【0044】
S1201において、画面イベント処理部441は、操作されたボタンなどの内容に応じて、Webアプリケーション410に対して要求を送信する。ここで、画面イベント処理部441、イベント通知手段の一例である。例えば、送信機能を利用するための送信機能ボタン1003が押下された場合には、送信機能を実行するための送信機能画面の表示要求が送信される。また、ログアウトボタン1010が押下された場合には、ログアウトするためのログアウト要求が送信される。なお、Webブラウザ440がWebアプリケーション410に送信する要求には、ログイン管理部444が保持しているユーザIDが付加される。
【0045】
S1202において、Webブラウザ440は、送信した要求に対する応答をWebアプリケーション410から受信し、その内容を解析部442において解析する。続いて、S1203において、Webブラウザ440は、解析結果に基づいて必要な処理を行い、画面表示部443によってMFP101の操作部220に応答として受信した画面情報を描画する。
【0046】
次に、図10を参照して、Webブラウザ440が要求を送信した際のWebアプリケーション410の処理について説明する。以下で説明する処理は、Webサーバ102のCPU311が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webアプリケーション410は、各ステップの処理に関する情報をログ記録部420に記録する。
【0047】
S1301において、Webアプリケーション410は、受信した要求にユーザIDが含まれるか否かを判定する。含まれている場合はS1302へ進み、含まれていない場合はS1314へ進む。S1302において、Webアプリケーション410は、受信した要求に含まれているユーザIDが、セッション管理部413が保持しているセッション情報に含まれるユーザIDと一致するか否かを判定する。一致する場合はS1303へ進み、一致しない場合はS1314へ進む。
【0048】
S1303において、Webアプリケーション410は、セッション管理部413が保持しているセッション情報に含まれるステータス情報を参照し、受信した要求内容が、現ステータスにおいて受付可能か否かを判定する。受付可能な場合はS1304へ進み、受付不可の場合はS1314へ進む。
【0049】
S1304において、Webアプリケーション410は、セッション管理部413が保持しているセッション情報のステータス情報に、要求を受け付けたことをその要求の内容とともに追加する。次に、S1305において、Webアプリケーション410は、受信した要求がログアウト要求か否かを判定する。当該処理は、判定手段又は第2判定手段の処理の一例である。ログアウト要求の場合はS1310に進み、ログアウト以外の要求の場合はS1306に進む。例えば、メニュー画面1001において、ログアウトボタン1010が押されたことによって要求が行われた場合には、ログアウト要求が行われるため、ここでの判定結果はYESとなる。メニュー画面1001において、ログアウトボタン1010以外のボタン1002〜1005が押されたことによって要求が行われた場合には、ログアウト要求ではない要求が行われるため、ここでの判定結果はNOとなる。
【0050】
S1306において、Webアプリケーション410は、受信した要求がMFP101での処理を実行することを含むか否かを判定する。MFP101での処理を含む場合はS1308に進み、含まない場合はS1307に進む。例えば、メニュー画面1001で送信機能ボタン1003が押下されたことによる要求(送信機能画面の表示要求)を受信した場合には、MFP101での処理実行はまだ行われないため、MFP101での処理実行は含まないと判定される。
【0051】
S1307において、Webアプリケーション410は、要求の内容に応じてロジック部412によって処理を実行し、プレゼンテーション部411によって要求の結果に対する操作画面の画面情報を生成する。例えば、メニュー画面1001で送信機能ボタン1003が押下されたことによる要求(送信機能画面の表示要求)を受信した場合には、送信機能の実行に必要な情報を入力させる送信機能画面を生成する。
【0052】
ここで、図11を参照して、送信機能画面1401について説明する。図11に示すように、送信機能画面1401において、ユーザは、送信方式、宛て先、読み取った画像のファイル形式などを設定することができる。送信方式選択ボタン1402は、ドロップダウン式のボタンであり、送信方式として、電子メール、FTP、FAXなどが選択できる。図11の例では電子メールが選択されている。宛て先入力フォーム1403は、送信先の情報を入力するためのフォームであり、図11の例ではメールアドレスが入力されている。なお、送信方式がFTPの場合は、送信先サーバのアドレス、パス、ファイル名を入力する宛て先入力フォーム1403の他に、送信先にログインするための情報を入力するフォームが表示される。また、送信方式がFAXの場合は、宛て先入力フォーム1403には送信先のFAX番号が入力されることになる。ファイル名入力フォーム1404は、送信する画像ファイルに付けるファイル名を入力するためのフォームである。図11の例においては、「document1.pdf」というファイル名が入力されている。ファイル形式選択ラジオボタン1405は、読み取った画像をどの形式のファイルとして送信するかを選択するためのラジオボタンである。図11の例においては、PDFとJPEGを選択することができ、PDFが選択されている。送信ボタン1406は、MFP101のスキャナ222にセットされた原稿を読み取り、送信設定に基づいて送信を行う処理を開始させるためのボタンである。送信ボタン1406が押下されると、Webブラウザ440は、送信設定の情報、ユーザIDとともに送信機能の実行を開始させるための要求(送信機能実行要求)をWebアプリケーション410に送信する。キャンセルボタン1407は、送信機能の実行を取りやめるためのボタンである。キャンセルボタン1407が押下されると、ユーザIDとともに、元のメニュー画面1001を表示するための要求(メニュー画面表示要求)がWebサーバ102のWebアプリケーション410に送られる。ログアウトボタン1410はログアウトを行うためのボタンであり、メニュー画面1001のログアウトボタン1010と同等である。
【0053】
図10の説明に戻る。S1306でMFP101の処理実行が含まれる場合、S1308において、Webアプリケーション410は、Webブラウザ440から受信した要求の内容に従って、MFP101のサービスプロバイダ450に対して処理実行依頼を送信する。このとき、Webアプリケーション410は、Webブラウザ440の要求に含まれているユーザIDを処理実行依頼に付加する。例えば、送信機能画面1401において、送信ボタン1406が押下されて行われた要求(送信機能の実行要求)を受信した場合には、ここでサービスプロバイダ450に対して送信機能の処理実行依頼が行われる。
【0054】
S1309において、Webアプリケーション410は、S1308での処理実行依頼に対する応答をサービスプロバイダ450から受信する。さらに、Webアプリケーション410は、受信した内容に応じてロジック部412によって処理を行い、Webブラウザ440に送信する実行結果画面1501の情報をプレゼンテーション部411によって生成する。図11に、送信機能を実行したときの実行結果画面1501の一例を示す。
【0055】
また、S1305で要求がログアウトである場合、S1310において、Webアプリケーション410は、MFP101のサービスプロバイダ450にログアウトの処理実行依頼を送信する。このとき、Webアプリケーション410は、Webブラウザ440の要求に含まれているユーザIDを処理実行依頼に付加する。続いて、S1311において、Webアプリケーション410は、サービスプロバイダ450からの応答を受信する。応答を受信すると、S1312において、Webアプリケーション410は、S902で作成したセッション情報を削除する。さらに、S1313において、Webアプリケーション410は、プレゼンテーション部411によってログアウトの完了をユーザに通知するためのログアウト完了画面の情報を生成し、S1316に進む。
【0056】
上述したように、S1301で要求にユーザIDが含まれてない場合、S1302でセッション情報とユーザIDとが一致しない場合、S1303で要求内容が受付可能でない場合は、S1314に進む。S1314において、Webアプリケーション410は、プレゼンテーション部411によって図11に示すエラー画面1101の画面情報を生成し、S1315に進む。
【0057】
S1315において、Webアプリケーション410は、セッション管理部413が保持しているセッション情報に含まれるステータス情報を、生成された画面情報の画面IDによって更新する。ここでは、S1307、S1309又はS1314で生成された画面情報の画面IDによってステータス情報が更新される。続いて、S1316において、Webアプリケーション410は、生成された画面情報をWebブラウザ440に応答として送信する。ここでは、S1307、S1309、S1313又はS1314で生成された画面情報が送信される。
【0058】
次に、図12を参照して、Webアプリケーション410がS1308又はS1310で送信した処理実行依頼を、MFP101のサービスプロバイダ450が受信した際の処理について説明する。以下で説明する処理は、MFP101のCPU211が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、サービスプロバイダ450は、各ステップの処理に関する情報をログ記録部460に記録する。
【0059】
S1701において、サービスプロバイダ450は、受信した処理実行依頼にユーザIDが含まれるか否かを判定する。含まれている場合はS1702に進み、含まれていない場合はS1709に進む。S1702において、サービスプロバイダ450は、ログインアプリケーション430により生成されたログインコンテキストを取得する。そして、S1703において、サービスプロバイダ450は、取得したログインコンテキストの中からユーザIDを抽出する。
【0060】
次に、S1704において、サービスプロバイダ450は、受信した処理実行依頼に含まれるユーザIDと、S1703で抽出したユーザIDとが一致するか否かを判定する。ユーザIDが一致していればS1705に進み、一致していない場合はS1709に進む。S1705において、サービスプロバイダ450は、受信した処理実行依頼がログアウトであるか否かを判定する。ログアウトである場合はS1707に進み、そうでない場合はS1706に進む。
【0061】
処理実行依頼がログアウトで無い場合、S1706において、サービスプロバイダ450は、Webアプリケーション410からの依頼内容に従って処理を実行する。そして、S1710において、サービスプロバイダ450は、S1706の処理実行結果をWebアプリケーション410に応答する。一方、処理実行依頼がログアウトである場合、S1707において、サービスプロバイダ450は、ログインアプリケーション430に対してログアウト要求を送信する。そして、S1708において、サービスプロバイダ450は、ログアウト要求の応答を受信し、受信した応答をS1710で処理結果としてWebアプリケーション410に応答する。
【0062】
S1709において、サービスプロバイダ450は、ユーザID情報が不正である旨のエラー情報を処理実行結果として生成し、S1710でそれをWebアプリケーション410に応答する。このように、S1701でユーザIDが含まれていない場合やS1704でユーザIDが一致しない場合に、処理実行依頼をエラーとする。これにより、MFP101のWebブラウザ440で操作しているユーザ以外からの処理実行依頼を実行してしまうことを防止することができる。
【0063】
次に、図13を参照して、ログインアプリケーション430からログアウトイベントの通知を受信した際のWebブラウザ440の処理について説明する。以下で説明する処理は、MFP101のCPU211が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webブラウザ440は、各ステップの処理に関する情報をログ記録部460に記録する。S1801において、Webブラウザ440のログイン管理部444は、ログインアプリケーション430からログアウトイベントの通知を受信すると、保持しているユーザIDを削除して、処理を終了する。
【0064】
次に、画面例を用いながら、ログイン、MFPの機能の実行、ログアウトの各処理の流れについて説明する。
【0065】
<ログイン処理>
次に、操作部220に表示する画面例を用いて、本実施形態に係るログイン処理について説明する。まず、ログインアプリケーション430は、S501において図5に示すログイン画面601を操作部220に表示している。ログイン画面601では、ユーザIDに「user001」、当該ユーザのパスワードに「password」(表示上は「********」とマスクされる。)がユーザによって入力されている。ここで、ユーザによってOKボタン604が押下されると、ログインアプリケーション430におけるS502の判定がYESとなり、S503で認証処理部432がログイン判定処理を行う。このとき、入力されたユーザIDとパスワードとがLDAPサーバ103に渡され、LDAPサーバ103において、認証情報記憶部480に保持されているユーザの認証情報との照合が行われる。この結果がOKである場合、S506でログインコンテキストを生成し、S507でログインイベントをWebブラウザ440のログイン管理部444に通知する。Webブラウザ440のログイン管理部444は、ログインイベントを受信すると、S801でログインアプリケーション430が生成したログインコンテキストを取得する。そして、S802でユーザID「user001」を取り出して保持し、そのユーザID「user001」を含めてログイン要求をWebアプリケーション410に対して送信する。
【0066】
ログイン要求を受信すると、Webアプリケーション410は、まずS901において、要求にユーザIDが含まれるか否かを確認する。受信した要求には、ユーザID「user001」が含まれているため、ここではYESと判定する。次に、Webアプリケーション410におけるログイン処理として、S902においてセッション管理部413でセッション情報を生成し、「user001」とのセッションを開始する。さらに、S903においてプレゼンテーション部411がメニュー画面1001の画面情報を生成する。S904では、セッション管理部413が保持しているセッション情報に含まれるステータス情報を、生成した画面情報の画面IDによって更新し、S906で生成した画面情報をWebブラウザ440に応答として送信する。ここで、Webブラウザ440は、S804で受信した画面情報を解析部442によって解析し、画面表示部443によってメニュー画面1001を表示する。
【0067】
<MFPの機能の実行>
続いて、上記ログイン処理が終了して、メニュー画面1001が表示された後に、送信機能の実行を例にして、MFP101の機能の実行について説明する。ユーザによってメニュー画面1001の送信機能ボタン1003が押下されると、S1201において、Webブラウザ440は、Webアプリケーション410に送信機能画面の表示要求を送信する。このとき、要求にユーザID「user001」が含められる。
【0068】
Webアプリケーション410は、その送信機能画面の表示要求を受信すると、S1301ではYES、S1302ではYES、S1303ではYESとそれぞれ判定する。そして、S1304において、セッション管理部413が保持しているセッション情報が持つステータス情報に、現在のステータスにおける要求を受け付けたことを記録する。次のS1305、S1306における判定はともにNOとなり、S1307において、送信機能で必要となる設定及び送信機能の実行をユーザに行わせる送信機能画面1401の情報をプレゼンテーション部411が生成する。その後、S1315では、セッション管理部413が保持しているセッション情報に含まれるステータス情報を、生成した画面情報の画面IDによって更新する。そして、Webアプリケーション410は、S1316で生成した画面情報をWebブラウザ440に応答として送信する。ここで、Webブラウザ440は、S1202において、Webアプリケーション410からの応答を受信して解析し、S1203において、送信機能画面1401を描画する。
【0069】
その後、ユーザによって、送信機能画面1401の送信ボタン1406が押下されると、S1201において、Webブラウザ440は、送信機能の実行要求をWebアプリケーション410に送信する。ここで、送信機能の実行要求には、ユーザID「user001」の他に、送信設定で設定された値が含められる。図11の例では、送信設定として、「送信方式=電子メール」、「宛て先=abcd@efgh.ijk」、「ファイル名=document1.pdf」、「ファイル形式=PDF」が要求に含められる。
【0070】
送信機能の実行要求を受信すると、Webアプリケーション410は、送信機能画面の表示要求を受信したときと同様にS1301、S1302、S1303、S1304、S1305の順で処理を行う。しかし、S1306では、MFP101での実行を行う要求であるため、判定はYESとなる。そして、S1308において、Webアプリケーション410は、MFP101のサービスプロバイダ450に対して送信機能の処理実行依頼を送信する。このとき、Webブラウザ440からの要求に含まれているユーザID及び送信設定の値が処理実行依頼に含められる。
【0071】
送信機能の処理実行依頼を受信すると、サービスプロバイダ450は、S1701でYESと判定し、S1702でログインアプリケーション430からログインコンテキストを取得する。そして、サービスプロバイダ450は、S1703でそのログインコンテキストからユーザIDを取得し、S1704で処理実行依頼に含まれるユーザIDと照合する。ここで、これらユーザIDはともに「user001」であるため、S1704の判定はYESとなる。次のS1705では、ログアウトの処理実行依頼ではないため、判定はNOとなる。そして、S1706において、処理実行依頼に含まれる送信設定に基づき、送信機能が実行される。具体的には、MFP101がスキャナ222にセットされた原稿を読み取り、「document1.pdf」という名称のPDFファイルを生成する。そして、メールアドレス「abcd@efgh.ijk」宛ての電子メールに生成したファイルを添付して送信する。そして、その実行結果をS1710においてWebアプリケーション410に応答として送信する。
【0072】
Webアプリケーション410は、S1309において、送信機能の処理実行依頼の実行結果を受信し、その内容に応じてプレゼンテーション部411が送信機能の実行結果画面1501の情報を生成する。さらに、Webアプリケーション410は、S1315でセッション情報に含まれるステータス情報を、生成した画面情報の画面IDによって更新し、S1316で生成した画面情報をWebブラウザ440に応答として送信する。ここで、Webブラウザ440は、S1202で受信した送信機能の実行結果画面1501の情報を解析し、S1203で表示する。
【0073】
<ログアウト処理>
続いて、メニュー画面1001のログアウトボタン1010が押下された場合を例にして、本発明の特徴となるログアウト処理について説明する。なお、送信機能画面1401のログアウトボタン1410や送信機能の実行結果画面1501のログアウトボタン1510が押下された場合も同様の処理となる。
【0074】
ユーザによってメニュー画面1001のログアウトボタン1010が押下されると、S1201において、Webブラウザ440は、イベント通知手段として機能し、Webアプリケーション410にログアウト要求を送信する。このとき要求にユーザID「user001」が含められる。Webアプリケーション410は、ログアウト要求を受信すると、MFP101の機能の実行のときと同様に、S1301、S1302、S1303、S1304の順で処理を行う。しかし、S1305では、ログアウト要求であるため、判定はYESとなる。そして、S1310において、Webアプリケーション410は、ログアウト通知手段として機能し、MFP101のサービスプロバイダ450に対してログアウトの処理実行依頼を送信する。このとき、Webブラウザ440からの要求に含まれているユーザIDが処理実行依頼に含められる。
【0075】
ログアウトの処理実行依頼を受信すると、サービスプロバイダ450は、MFPの機能の実行のときと同様に、S1701、S1702、S1703、S1704の順で処理を行う。しかし、S1705では、ログアウトの処理実行依頼であるため、判定はYESとなる。そして、S1707において、サービスプロバイダ450は、ログインアプリケーション430に対してログアウト要求を行う。ログインアプリケーション430は、ログアウト要求を受信すると、S508の判定がYESとなり、S509でログインコンテキストを削除する。そして、S510でWebブラウザ440にログアウトイベントを通知する。ログアウトイベントの通知を受信すると、Webブラウザ440のログイン管理部444は、S1801において、保持しているユーザIDを削除する。その後、ログインアプリケーション430は、S511でサービスプロバイダ450にログアウト要求の処理結果を応答し、S501に戻ってログイン画面601を表示する。サービスプロバイダ450は、S1708において、ログインアプリケーション430からの処理結果を受信し、さらにそれをS1710において、Webアプリケーション410に結果として送信する。なお、上述したS1707及びS1708の処理は、第1ログアウト手段の処理の一例である。
【0076】
サービスプロバイダ450からログアウト結果を受信すると、Webアプリケーション410は、S1312でセッション管理部413が保持しているセッション情報を削除する。そして、S1313においてログアウト完了画面1601の情報を生成し、その画面情報をS1316でWebブラウザ440に送信する。Webブラウザ440は、S1202で受信したログアウト完了画面1601の情報を解析し、S1203で表示する。ただし、このとき、ログインアプリケーション430が、S511からS501に戻り、MFP101の操作部220には既にログイン画面601が表示されている状態となる。なお、上述したS1310乃至S1313、及び、S1316の処理は、第2ログアウト手段の処理の一例である。
【0077】
以上説明したように、本実施形態に係る情報処理システムは、Webサーバから提供されたWebブラウザの操作画面を介して入力されたユーザ指示をイベントとしてWebサーバに対して通知する。ここで、Webサーバは、通知されたイベントを解析し、当該イベントがログアウト要求であれば、Webサーバのログアウト処理を実行するとともに、MFPに対してログアウト要求を通知する。MFPは、Webサーバからログアウト要求を受信するとMFPのログアウト処理を実行する。このように、本情報処理システムでは、Webブラウザで表示する操作画面のログアウトボタン等がユーザにより選択されることにより、Webサーバ及びMFP双方からのログアウト処理を実行する。つまり、ユーザにとっては、Webブラウザの操作感のまま、双方のログアウト処理を一度に指示することができ、容易にログアウト処理を実行できる。
【0078】
<第2の実施形態>
次に、第2の実施形態について説明する。本実施形態では、第1の実施形態で説明した構成に加え、Webアプリケーション410へのログアウト要求時に、MFP101からもログアウトするかどうかをユーザに確認する。まず、図14を参照して、S1201でWebブラウザ440が送信した要求を受信した際のWebアプリケーション410の処理について説明する。以下で説明する処理は、Webサーバ102のCPU311が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webアプリケーション410は、各ステップの処理に関する情報をログ記録部420に記録する。また、図14におけるS1301乃至S1316の各処理は、図10に示す処理と同様の処理であるため、説明を省略する。
【0079】
S1901において、Webアプリケーション410は、受信した要求がMFPログアウト確認であるか否かを判定する。第1の実施形態では、ログアウトボタン1010等がユーザによって押下された場合、ログアウト要求がWebアプリケーション410に対して行われていた。しかし、本実施形態では、これがMFPログアウト確認要求となっている。受信した要求がMFPログアウト確認要求であった場合は、S1902へ進み、そうでない場合は、S1306へ進む。
【0080】
S1902において、Webアプリケーション410は、MFPログアウト確認画面2001の画面情報をプレゼンテーション部411によって生成する。図15に、Webブラウザ440に表示されるMFPログアウト確認画面2001の一例を示す。生成された画面情報はS1316でWebブラウザ440に送信され、その後、Webブラウザ440で表示される。当該処理は、画面情報送信手段の処理の一例である。そして、図15に示すMFPログアウト確認画面2001において、はいボタン2002がユーザによって押下されると、Webアプリケーション及びMFPログアウト要求がWebアプリケーションに送信される。一方、いいえボタン2003がユーザによって押下されると、Webアプリケーションログアウト要求がWebアプリケーションに送信される。これらの要求は、Webアプリケーション410において、いずれもログアウト要求とみなされ、S1305での判定はYESとなり、S1903へ進む。
【0081】
S1903において、Webアプリケーション410は、Webアプリケーション及びMFPログアウト要求であるか否かを判定する。Webアプリケーション及びMFPログアウト要求である場合には、S1310に進み、以降、第1の実施形態と同様の処理を行い、MFP101及びWebアプリケーション410の双方からログアウトする。一方、Webアプリケーション410のログアウト要求である場合には、S1310、S1311はスキップし、Webアプリケーションでのログアウト処理(セッション情報の削除)のみが行われる。なお、上述の処理は、ログアウト制御手段の処理の一例である。
【0082】
以上説明したように、本実施形態に係る情報処理システムは、ユーザからログアウト要求が指示された場合に、Webサーバからログアウトするとともに、ユーザに対してMFPからもログアウトするか否かを確認する。これにより、Webサーバが不要な機能を情報処理装置で継続して使用したい場合に、再度ログインする手間を省くことができる。
【0083】
<第3の実施形態>
次に、第3の実施形態について説明する。本実施形態では、第2の実施形態で説明したMFP101からもログアウトするかどうかの確認を、ユーザの選択により設定可能にする。また、以下では、上記実施形態と異なる構成及び技術についてのみ説明を記載する。
【0084】
本実施形態によれば、LDAPサーバ103の認証情報記憶部480において、ログアウトの際の動作の設定情報(属性情報)をユーザ(識別子)毎に対応付けて保持する。設定値としては、「Webアプリケーションログアウト」、「Webアプリケーション及びMFPログアウト」、「MFPログアウト確認」の3つがある。「Webアプリケーションログアウト」は、ユーザがログアウト操作を行った際に、Webアプリケーションからのみログアウトし、MFPからはログアウトしないことを表す。「Webアプリケーション及びMFPログアウト」は、第1の実施形態と同様に、ユーザがログアウト操作を行った際、WebアプリケーションとMFPの双方からログアウトすることを表す。「MFPログアウト確認」は、第2の実施形態と同様に、ユーザがログアウト操作を行った際、MFPログアウト確認画面2001を表示することを表す。なお、この設定値は、S503においてログイン処理が行われた際、LDAPサーバ103からログインアプリケーション430に渡され、ログインコンテキストに付加される。そして、S802において、Webブラウザ440によってユーザIDとともに抽出され、S803でWebアプリケーション410への要求に付加され、送信される。当該処理は、属性情報送信手段の処理の一例である。また、当該要求を受信したWebアプリケーション410は、S902において、要求に含まれる設定値をセッション情報に保持する。
【0085】
次に、図16を参照して、ユーザによってログアウト操作が行われた場合の動作について説明する。以下で説明する処理は、Webサーバ102のCPU311が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webアプリケーション410は、各ステップの処理に関する情報をログ記録部420に記録する。なお、図16におけるS1301乃至S1316の各処理は図10に示す処理と同様の処理であり、S1901乃至S1903の各処理は図14に示す処理と同様の処理であるため説明を省略する。
【0086】
本実施形態によれば、第2の実施形態と同様に、ログアウトボタン1010等がユーザによって押下された場合、MFPログアウト確認要求がWebアプリケーション410に送信される。Webアプリケーション410がこれを受信した場合、S1901からS2101に処理が進む。S2101において、Webアプリケーション410は、セッション情報に含まれる、ログアウトの動作に関する設定値を確認する。当該設定値が「MFPログアウト確認」である場合は、S1902に進み、第2の実施形態と同様の処理を行う。一方、設定値が「Webアプリケーションログアウト」、「Webアプリケーション及びMFPログアウト」である場合、S1903に進み、第2の実施形態と同様の処理を行う。なお、上述の処理は、ログアウト制御手段の処理の一例である。
【0087】
以上説明したように、本実施形態に係る情報処理システムは、Webサーバからログアウトするとともに、MFPからログアウトするか否かを属性情報に応じて制御する。このように、本情報処理システムによれば、ユーザ毎にログアウト要求した際のログアウト制御を予め設定しておくことで、例えば、情報処理装置のログアウト確認が不要なユーザにとっては余計な手間を省くことができる。
【0088】
<第4の実施形態>
次に、第4の実施形態について説明する。本実施形態は、第1の実施形態と比較して、Webブラウザ440がログアウト要求を検出して処理を行うことと、Webアプリケーション410からサービスプロバイダ450にログアウト要求が行われないことが異なる。まず、図17を参照して、Webアプリケーション410への要求イベントが発生したときのWebブラウザ440の処理手順について説明する。以下で説明する処理は、MFP101のCPU211が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webブラウザ440は、各ステップの処理に関する情報をログ記録部460に記録する。また、図17に示すS1201乃至S1203の処理は、図9に示す処理と同様であるため説明を省略する。
【0089】
S2201において、Webブラウザ440は、発生したイベントがログアウトボタン1010等を押下されたことによるものかどうかを判定する。ここで、ログアウトボタンが押下されたかどうかは、要求として送信されるformデータの中に、name属性の値として「logout」が含まれるか否かによって判定する。以下に、そのような情報が生成されるログアウトボタンのHTML記述の例を示す。
<form method=”POST” action=”Logout.do”>
<input type=”submit” name=”Logout” value=”ログアウト”>
</form>
なお、これ以外にもformのactionで指定されているサーブレット等の名称で判定してもよい。ログアウトボタンによるイベントの場合は、S2202に進む。それ以外のイベントの場合はS1201に進み、第1の実施形態と同様に処理を行う。S2202では、Webブラウザ440は、ログインアプリケーション430にログアウト要求を行う。その後、S1201に進み、第1の実施形態と同様の処理を行う。
【0090】
次に、図13を参照して、S1201でWebブラウザ440が送信した要求を受信した際のWebアプリケーション410の処理について説明する。本実施形態では、図10に示すフローチャートからS1310、S1311の処理が省略される。そのため、他の処理についての説明は省略する。
【0091】
S1305において、判定がYESである場合、図10のフローチャートで行われていたS1310及びS1311の処理を行わずに、S1312の処理に進む。これは、本実施形態ではWebブラウザ440においてログアウト要求を検出してMFP101のログアウト処理を行うため、Webアプリケーション410からサービスプロバイダ450へのログアウト処理実行依頼が不要となるからである。このため、Webアプリケーション410は、S1312において直ちにセッション情報を削除するというWebアプリケーション410のログアウト処理を実施することになる。
【0092】
以上説明したように、第4の実施形態では、Webアプリケーション410からサービスプロバイダ450へのログアウト処理実行依頼を行うことがなくなるため、通信に掛かる手間が省略できる。このため、より迅速なログアウト処理を実現することができる。
【0093】
なお、本発明は、上記実施形態に限らず様々な変形が可能となる。例えば、本実施形態は、第2及び第3の実施形態と組み合わせて実現されてもよい。ここで、本実施形態を第2の実施形態に適用した場合について説明する。図17に示すS2201において、Webブラウザ440は、Webアプリケーション及びMFPログアウト要求が発生するイベントか否かを判定する。なお、この処理は、後述する図18に示すS2801の処理に相当する。ここで、Webアプリケーション及びMFPログアウト要求が発生するイベントか否かは、送信されるformのデータの中に、name属性の値として「logout_both」が含まれるか否かによって判定する。以下に、そのような要求が生成されるログアウトボタンのHTML記述の例を示す。
<form method=”POST” action=”Logout.do”>
<input type=”submit” name=”Logout_both” value=”はい”>
<input type=”submit” name=”Logout_app” value=”いいえ”>
</form>
MFPログアウト確認画面2001のはいボタン2002がこのような記述で構成されることになる。なお、これ以外にもformのactionで指定されているサーブレット等の名称で判断するようにしてもよい。このような判定の結果、YESであればS2202に進み、本実施形態と同様の処理を行う。一方、判定の結果がNOであればS1201に進み、通常の要求イベントとして処理を行う。この場合、Webサーバ102の利用終了時にMFP101からログアウトするか否かを選択することができる。これにより、Webサーバ102が不要な機能をMFP101で継続して使用したい場合に、再度ログインしなくてはいけない手間を省くことができる。
【0094】
一方、本実施形態を第3の実施形態に適用した場合について説明する。この場合、第3の実施形態と同様に、LDAPサーバ103の認証情報記憶部480がログアウトの際の動作の設定情報をユーザ毎に保持している。そして、そのログアウトの際の動作の設定情報は、第3の実施形態と同様に、S503でのログイン処理時に、LDAPサーバ103からログインアプリケーション430に渡され、ログインコンテキストに含められる。さらに、ログアウトの際の動作の設定情報は、S802においてWebブラウザ440のログイン管理部444によってユーザIDとともに抽出されて保持され、S803でWebアプリケーション410への要求に含められ送信される。その要求を受信したWebアプリケーション410は、S902において、要求に含まれる設定値をセッション情報に保持する。
【0095】
ここで、図18を参照して、Webアプリケーション410への要求イベントが発生したときのWebブラウザ440の処理手順について説明する。以下で説明する処理は、MFP101のCPU211が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webブラウザ440は、各ステップの処理に関する情報をログ記録部460に記録する。また、図18は、図17に示すフローチャートから、S2801乃至S2804が追加され、S2201が削除されている。
【0096】
まず、S2801において、Webブラウザ440は、Webアプリケーション及びMFPログアウト要求が発生するイベントか否かを判定する。なお、この判定は本実施形態を第2の実施形態に適用した場合の上述した判定と同様である。このような判定の結果、NOであればS2802に進み、YESであればS2202に進み、ログインアプリケーション430にログアウト要求を行う。
【0097】
S2802において、Webブラウザ440は、MFPログアウト確認要求が発生するイベントか否かを判定する。ここで、MFPログアウト確認要求が発生するイベントか否かは、送信されるformのデータの中に、name属性の値として「confirm_logout」が含まれるか否かによって判断する。以下に、そのような情報が生成されるログアウトボタンのHTML記述の例を示す。
<form method=”POST” action=”Logout.do”>
<input type=”submit” name=”confirm_logout” value=”ログアウト”>
</form>
ログアウトボタン1010がこのような記述で構成されることになる。なお、これ以外にもformのactionで指定されているサーブレット等の名称で判断するようにしてもよい。このような判定の結果、YESであればS2803に進み、NOであればS1201に進み、通常の要求イベントとして処理を行う。
【0098】
S2803では、Webブラウザ440のログイン管理部444が保持しているログアウトの際の動作の設定情報を確認し、設定値が「MFPログアウト確認」であるかどうかを判定する。判定の結果がYESであれば、S1201に進み、通常の要求イベント(MFPログアウト確認要求)として処理を行う。判定の結果がNOであれば、S2804に進む。
【0099】
S2804では、再度ログイン管理部444が保持しているログアウトの際の動作の設定情報を確認し、設定値が「Webアプリケーション及びMFPログアウト」であるか否かを判定する。判定の結果がYESであれば、S2202に進み、ログインアプリケーション430にログアウト要求を行う。判定の結果がNOであれば、S1201に進み、通常の要求イベント(Webアプリケーションログアウト要求)として処理を行う。このように、本実施形態を第3の実施形態に適用すると、ユーザの設定値に応じて、Webサーバ102の利用終了時にMFP101からログアウトするか否かの選択を省略することができ、確認が不要なユーザには余計な手間を省くことができる。
【0100】
なお、S2804におけるログアウトの際の動作設定情報の判定を、次のようにすることも可能である。すなわち、S2803の判定がNOのときにS2202に進むようにする。そして、S2202でログインアプリケーション430にログアウトを要求した際、ログインアプリケーション430においてS2804の判定を行い、ログアウト処理をするか否かを判定してもよい。
【0101】
<第5の実施形態>
次に、第5の実施形態について説明する。本実施形態では、Webアプリケーション410からのログアウト処理実行依頼が、サービスプロバイダ450に対して行われるのではなく、ログアウト要求のWebブラウザ440への応答に含められて指示される。さらに、Webブラウザ440は、当該指示を検出してログインアプリケーション430にMFP101のログアウトを要求する。
【0102】
図19を参照して、Webアプリケーション410への要求イベントが発生したときのWebブラウザ440の処理手順について説明する。以下で説明する処理は、MFP101のCPU211が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webブラウザ440は、各ステップの処理に関する情報をログ記録部460に記録する。また、図19におけるS1201乃至S1203の各処理は、図9に示す処理と同様であるため説明を省略する。
【0103】
S3001において、Webブラウザ440は、第1判定手段として機能し、Webアプリケーション410からの応答に、ログアウト処理実行依頼の記述があるか否かを判定する。実際には、この記述についての検出はS1202で行われる。以下に、このログアウト処理実行依頼の記述の例を示す。
<head>
<script type=”text/mfpscript”>
<!−−
window.onload=function(){
logout();
}
//−−>
</script>
</head>
この記述は、HTMLファイルのHEADタグ内にて、MFP101が備えるWebブラウザ440が解釈可能なスクリプト言語(例えば、mfpscript)として記述される。この記述が含まれているHTMLファイルをWebブラウザ440が読み込み、スクリプトを解釈してlogout()メソッドを実行した際にS3001の判定がYESとなる。なお、このような記述ではなく、単純に予め定められたコメントを検出することや、TITLEタグに予め定められた名称を指定することなどで検出してもよい。S3001の判定がYESであれば、S3002に進み、Webブラウザ440は、ログインアプリケーション430にログアウト要求を行い、その後、S1203に進む。S3001の判定がNOであれば、通常の応答に対する処理としてS1203に進む。
【0104】
次に、図20を参照して、Webブラウザ440が送信した要求を受信した際のWebアプリケーション410の処理について説明する。以下で説明する処理は、Webサーバ102のCPU311が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webアプリケーション410は、各ステップの処理に関する情報をログ記録部420に記録する。また、図20におけるフローチャートは、図10に示すフローチャートから、S1310及びS1311が削除され、S1313がS3201に変更されている。
【0105】
S3201において、Webアプリケーション410は、ログアウト完了画面の画面情報を生成するとともに、その情報の中にMFPへの上述したログアウト処理実行依頼の記述を追加する。こうして生成した情報は、S1316でWebブラウザ440に対して応答として送信される。
【0106】
以上説明したように、本実施形態では、Webアプリケーション410を先にログアウトする。このため、第4の実施形態の効果に加え、Webアプリケーション410においてログアウト異常によりセッション情報が余計に保持され続けることを回避できる。
【0107】
なお、本発明は、上記実施形態に限らず様々な変形が可能となる。例えば、本実施形態は、第2及び第3の実施形態と組み合わせて実現されてもよい。ここで、本実施形態を第2の実施形態に適用した場合について説明する。図21を参照して、S1201でWebブラウザ440が送信した要求を受信した際のWebアプリケーション410の処理について説明する。以下で説明する処理は、Webサーバ102のCPU311が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webアプリケーション410は、各ステップの処理に関する情報をログ記録部420に記録する。また、図21におけるS1301乃至S1316、及びS3201の各処理は、図20に示す処理と同様であるため、説明を省略する。
【0108】
S1305の後にS3301において、Webアプリケーション410は、受信した要求がMFPログアウト確認か否かを判定する。本実施形態では、図17に示す処理と同様に、ログアウトボタン1010等がユーザによって押下された場合、MFPログアウト確認要求がWebブラウザ440から行われる。受信した要求がMFPログアウト確認であった場合はS3302に進み、そうでない場合はS1306へ進む。
【0109】
S3302において、Webアプリケーション410は、MFPログアウト確認画面2001の情報をプレゼンテーション部411によって生成する。生成された画面情報はS1316でWebブラウザ440に送信されて、表示される。そして、MFPログアウト確認画面2001において、はいボタン2002がユーザによって押下されると、Webアプリケーション及びMFPログアウト要求がWebアプリケーション410に送信される。一方、いいえボタン2003がユーザによって押下されると、Webアプリケーションログアウト要求がWebアプリケーション410に送信される。これらの要求は、Webアプリケーション410において、いずれもログアウト要求とみなされる。よって、当該要求を受信した場合、S1305での判定はYESとなり、S1312へ進む。そして、S1312において、Webアプリケーション410は、ログアウト処理(セッション情報の削除)を行い、S3303へ進む。
【0110】
S3303において、Webアプリケーション410は、ログアウト要求がWebアプリケーション及びMFPログアウト要求であるか否かを判定する。Webアプリケーション及びMFPログアウト要求である場合には、S3201に進み、ログアウト完了画面にMFPのログアウト指示を付加して送信する。そして、MFP101にてログアウト指示が解釈されてMFP101のログアウトが実施される。一方、Webアプリケーションログアウト要求である場合には、S3304に進み、Webアプリケーション410は、ログアウト完了画面の画面情報のみを生成し、S1316でWebブラウザ440に応答として送信する。このように、本実施形態と第2の実施形態組み合わせた場合、Webサーバ102の利用終了時に、MFP101からログアウトするか否かを選択することができる。これにより、Webサーバ102が不要な機能をMFP101で継続して使用したい場合に、再度ログインする手間を省くことができる。
【0111】
次に、本実施形態を第3の実施形態に適用した場合について説明する。この場合、第3の実施形態と同様に、LDAPサーバ103の認証情報記憶部480がログアウトの際の動作の設定情報をユーザ毎に保持している。そして、そのログアウトの際の動作の設定情報は、第3の実施形態と同様に、S503でのログイン処理時に、LDAPサーバ103からログインアプリケーション430に渡され、ログインコンテキストに含められる。さらに、ログアウトの際の動作の設定情報は、S802においてWebブラウザ440のログイン管理部444によってユーザIDとともに抽出されて保持され、S803でWebアプリケーション410への要求に追加されて送信される。当該要求を受信したWebアプリケーション410は、S902において、要求に含まれる設定値をセッション情報に保持する。
【0112】
次に、図22を参照して、ユーザによってログアウト操作が行われた場合の動作について説明する。以下で説明する処理は、Webサーバ102のCPU311が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webアプリケーション410は、各ステップの処理に関する情報をログ記録部420に記録する。なお、図22におけるS1301乃至S1316、S3201、及び、S3301乃至S3304の各処理は、図21の処理と同様であるため説明を省略する。
【0113】
ログアウトボタン1010等がユーザによって押下された場合、MFPログアウト確認要求がWebアプリケーション410に送信される。Webアプリケーション410がこれを受信した場合、S3301からS3401に処理を遷移させる。S3401において、Webアプリケーション410は、セッション情報に含まれる、ログアウトの際の動作についての設定値を確認する。そして、その設定値が「MFPログアウト確認」である場合、ここでの判定はYESとなり、S3302の処理へ進む。一方、設定値が「Webアプリケーションログアウト」、「Webアプリケーション及びMFPログアウト」である場合、ここでの判定はNOとなり、S1312の処理に進む。このように、本実施形態を第3の実施形態に適用した場合、ユーザの設定値に応じて、Webサーバ102の利用終了時にMFP101からログアウトするか否かの選択を省略することができる。これにより、確認が不要なユーザには余計な手間を省略することができる。
【0114】
なお、MFPログアウト確認画面2001を表示するか否か、MFP101へのログアウト指示を含ませるか否かといった設定情報についての判定をMFP101で行ってもよい。その場合、例えば、MFPログアウト確認画面2001の情報に、設定値を判定してそれに応じた要求を自動的に行うようなスクリプトを埋め込んでWebブラウザ440に返す。そして、それをWebブラウザ440が解釈して実行し、ログイン管理部444が保持している設定値が「MFPログアウト確認」の場合は何もせずにそのままMFPログアウト確認画面2001を表示する。一方、それ以外の設定値である場合は、それぞれの設定値に応じてWebアプリケーション及びMFPログアウト要求、又は、Webアプリケーションログアウト要求を自動的に行うことにより実現してもよい。
【0115】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、サーバと、当該サーバにより提供される操作画面を表示するためのブラウザを有する情報処理装置とを備える情報処理システム、その制御方法及びプログラムに関するものである。
【背景技術】
【0002】
近年、プリンタやスキャナ機能を備えたMFP(Multi Function Peripheral)と呼ばれる画像形成装置では、Webブラウザを搭載し、PC(Personal Computer)を介さず直接Webサーバにアクセスしている。これにより、MFPでは、Webコンテンツを印刷したり、Webアプリケーションを操作したりすることができる。
【0003】
また、このようなWebブラウザを備えたMFPにおいて、本来MFPが有する機能を実行するための操作画面が外部のWebサーバから提供され、それをWebブラウザ上で操作するという形態のシステムが提案されている。このようなシステムでは、MFPのユーザは、Webブラウザ上に表示された操作画面を介して、MFPに対する指示を入力し、入力された指示はMFPのWebブラウザによってWebサーバに送信される。指示を受信したWebサーバは、ユーザから入力された指示の内容にしたがって、MFPに対して各種処理の実行を依頼する。そして、この依頼を受けたMFPは、依頼された処理を実行する。これにより、MFPを操作するための全操作画面情報をMFP内で保持しておく必要がなくなり、また操作画面の変更も、Webサーバ上で一般的なWebアプリケーションを変更するのと同様の方法で行うことができる。
【0004】
しかし、このようなシステムにおいて、MFPとWebサーバの双方でユーザのログイン状態を管理するためには、ログイン、ログアウトの操作をそれら双方で行うことをユーザに強いることがあった。一方、特許文献1には、Webブラウザを備えたMFPにおいて、MFPへのログイン時に特定のWebサーバへログイン情報を送信することや、MFPのログアウト時にそのWebサーバへログアウト情報を送信することが提案されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−83809号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記従来技術では、Webサーバが提供する操作画面でWebブラウザ上にログアウトの操作ボタンを表示させたとしても、Webサーバへログアウトの要求が送信されるだけであり、MFPのログアウトは行われない。このため、MFPのログアウトを別途操作する必要があり、ユーザに余計な手間が掛かってしまうという問題があった。
【0007】
一方、特許文献1に記載の技術では、ログアウト用のハードキーをユーザに操作させることにより、MFPのログアウトによってMFPとWebサーバとの双方からログアウトできる。しかし、ユーザとしては、Webブラウザに表示された画面を操作しているため、ログアウトの指示もWebブラウザの画面上で行いたいという要望がある。つまり、Webブラウザにおいて操作を一貫的に行うことができず、ユーザに煩わしさを与えてしまうという問題があった。
【0008】
本発明は、上述の問題に鑑みて成されたものであり、外部装置のWebサーバと連携して動作するWebブラウザを有する情報処理装置において、Webブラウザでの操作感を踏襲したままログアウトの手続きを簡略化する情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明は、例えば、サーバ機能を有する外部装置と、ブラウザ機能を有する情報処理装置とを備え、各装置でユーザ認証を行う情報処理システムとして実現できる。情報処理装置は、外部装置から提供された操作画面を介して入力されたユーザ指示を示すイベントを解析し、外部装置に対して通知するイベント通知手段と、外部装置からログアウト要求を受信すると、情報処理装置のログアウト処理を実行する第1ログアウト手段とを備え、外部装置は、情報処理装置から通知されたイベントを解析し、イベントがログアウト要求であるか否かを判定する判定手段と、イベントがログアウト要求であると、情報処理装置にログアウト要求を通知するログアウト通知手段と、ログアウト要求を通知すると、外部装置のログアウト処理を実行する第2ログアウト手段とを備えることを特徴とする。
【発明の効果】
【0010】
本発明は、例えば、外部装置のWebサーバと連携して動作するWebブラウザを有する情報処理装置において、Webブラウザでの操作感を踏襲したままログアウトの手続きを簡略化する情報処理システムを提供できる。
【図面の簡単な説明】
【0011】
【図1】第1の実施形態に係る情報処理システム100を示す図である。
【図2】第1の実施形態に係る情報処理システム100の制御構成を示す図である。
【図3】第1の実施形態に係る情報処理システム100機能構成を示す図である。
【図4】第1の実施形態に係るログインアプリケーション430におけるログイン時の処理手順を示すフローチャートである。
【図5】ログイン画面の一例を示す図である。
【図6】第1の実施形態に係るWebブラウザ440におけるログイン時の処理手順を示すフローチャートである。
【図7】第1の実施形態に係るWebアプリケーション410におけるログイン時の処理手順を示すフローチャートである。
【図8】第1の実施形態に係るメニュー画面の一例を示す図である。
【図9】第1の実施形態に係るWebブラウザ440におけるイベント発生時の処理手順を示すフローチャートである。
【図10】第1の実施形態に係るWebアプリケーション410におけるイベント発生時の処理手順を示すフローチャートである。
【図11】第1の実施形態に係るエラー画面の一例を示す図である。
【図12】第1の実施形態に係るサービスプロバイダ450における処理実行依頼を受信した際の処理手順を示すフローチャートである。
【図13】第1の実施形態に係るWebブラウザ440におけるログアウトイベントを受信した際の処理手順を示すフローチャートである。
【図14】第2の実施形態に係るWebアプリケーション410におけるイベント発生時の処理手順を示すフローチャートである。
【図15】第2の実施形態係るMFPログアウト画面の一例を示す図である。
【図16】第3の実施形態に係るWebアプリケーション410におけるログアウト時の処理手順を示すフローチャートである。
【図17】第4の実施形態に係るWebブラウザ440におけるイベント発生時の処理手順を示すフローチャートである。
【図18】第4の実施形態の変形例に係るWebブラウザ440におけるイベント発生時の処理手順を示すフローチャートである。
【図19】第5の実施形態に係るWebブラウザ440におけるイベント発生時の処理手順を示すフローチャートである。
【図20】第5の実施形態に係るWebアプリケーション410におけるイベント発生時の処理手順を示すフローチャートである。
【図21】第5の実施形態の変形例に係るWebアプリケーション410におけるイベント発生時の処理手順を示すフローチャートである。
【図22】第5の実施形態の変形例に係るWebアプリケーション410におけるイベント発生時の処理手順を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【0013】
<第1の実施形態>
<情報処理システムの構成>
まず、本発明に係る第1の実施形態について説明する。まず、図1を参照して、本実施形態に係る情報処理システム100の構成例について説明する。情報処理システム100は、MFP101、Webサーバ102、及びLDAP(Lightweight Directory Access Protocol)サーバ103を備える。ネットワーク110は、LAN(Local Area Network)やインターネットなどであり、MFP101、Webサーバ102、LDAPサーバ103が接続されている。なお、情報処理システム100には、電子文書を保存/管理するための文書管理装置や、電子メールを送受信するためのメールサーバ、PCなどが接続されていてもよい。MFP101は、情報処理装置の一例であり、プリント機能、コピー機能、スキャナ機能、送信機能、Webブラウザ機能などの複数の機能を有する。Webサーバ102は、外部装置の一例であり、Webサーバ機能を有するパーソナルコンピュータである。LDAPサーバ103は、管理サーバの一例であり、ユーザの認証情報(識別子)を保持し、MFP101等からの問い合わせに対してユーザ認証を行い、結果を送信する。なお、各装置の詳細については後述する。
【0014】
<情報処理システムの制御構成>
次に、図2を参照して、本実施形態に係る情報処理システム100の制御構成の一例について説明する。ここでは、MFP101とWebサーバ102の制御構成について説明する。なお、LDAPサーバ103の制御構成は、Webサーバ102の制御構成と同様であるため説明を省略する。
【0015】
まず、MFP101の制御構成について説明する。CPU211を含む制御部210は、MFP101の動作を統括的に制御する。なお、219は制御部210内の各ブロックを接続するバスである。CPU211は、ROM212に記憶された制御プログラムを読み出して、読取制御や送信制御などの各種制御処理を実行する。RAM213は、CPU211の主メモリ、ワークエリアなどの一時記憶領域として用いられる。HDD214は、画像データや各種プログラムを記憶する。
【0016】
操作部I/F215は、制御部210と操作部220とを接続する。操作部220には、タッチパネル機能を有する液晶表示部やキーボードなどが備えられている。また、MFP101には後述するWebブラウザ機能が備えられている。MFP101のWebブラウザは、Webサーバ102から受信した画面情報であるHTMLファイルを解析し、解析結果に基づいて操作画面を操作部220上に表示する。
【0017】
プリンタI/F216は、制御部210とプリンタ221とを接続する。プリンタ221で印刷すべき画像データはプリンタI/F216を介して制御部210からプリンタ221に転送され、プリンタ221において用紙などの記録媒体上に印刷される。スキャナI/F217は、制御部210とスキャナ222とを接続する。スキャナ222は、スキャナ222にセットされた原稿上の画像を読み取って画像データを生成し、スキャナI/F217を介して制御部210に入力する。ネットワークI/F218は、制御部210をネットワーク110に接続し、ネットワーク110上の外部装置との情報の送受信を行う。
【0018】
次に、Webサーバ102の制御構成について説明する。CPU311を含む制御部310は、Webサーバ102の動作を統括的に制御する。なお、316は、制御部310内の各ブロックを接続するバスである。CPU311は、ROM312に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御処理を実行する。RAM313は、CPU311の主メモリ、ワークエリアなどの一時記憶領域として用いられる。HDD314は、画像データや各種プログラムを記憶する。ネットワークI/F315は、制御部310をネットワーク110に接続し、ネットワーク110上の外部装置との情報の送受信を行う。
【0019】
<情報処理システムの機能構成>
次に、図3を参照して、本実施形態に係る情報処理システム100機能構成について説明する。図3に示す各機能部は、MFP101、Webサーバ102、LDAPサーバ103のそれぞれに備えられているCPUが制御プログラムを実行することにより実現される。
【0020】
まず、MFP101の機能構成について説明する。MFP101は、ログインアプリケーション430、Webブラウザ440、サービスプロバイダ450、及びログ記録部460を備える。ログインアプリケーション430は、画面表示部431と認証処理部432とを含む。画面表示部431は、認証処理部432が実行する認証処理に必要な認証情報をユーザに入力させるための認証画面を操作部220に表示する。なお、この認証画面は、Webサーバ102により提供されるものではなく、ログインアプリケーション430がMFP101内に保持している情報を読み出して表示するものである。認証処理部432は、画面表示部431により表示された認証画面を介して入力された認証情報を用いてMFP101へのログイン処理を行う。具体的には、入力された認証情報をLDAPサーバ103に問合せ、その問合せ結果に応じてログイン処理を実行するか否かを判断する。また、ログアウト要求に応じてMFP101からのログアウト処理を行う。
【0021】
Webブラウザ440は、画面イベント処理部441、解析部442、画面表示部443、ログイン管理部444を含む。画面イベント処理部441は、画面表示部443で表示している画面に対して行われるユーザの操作を検知し、その操作内容に応じた処理を行う。特に、Webサーバ102のWebアプリケーション410に対して要求を行う操作が行われた場合には、HTTPプロトコルに従ってWebアプリケーション410のプレゼンテーション部411と通信を行う。解析部442は、Webアプリケーション410から受信する画面情報であるHTMLファイルを解析する。このHTMLファイルには、Webブラウザ440に表示すべき操作画面の内容を示す記述が含まれる。画面表示部443は、解析部442による解析の結果に基づいて、操作部220上に操作画面を表示する。ログイン管理部444は、ログインアプリケーション430からログインイベント又はログアウトイベントの通知を受付け、それらの通知に応じて処理を行う。
【0022】
サービスプロバイダ450は、依頼受付部451及びジョブ生成部452を含む。依頼受付部451は、Webアプリケーション410内のロジック部412から処理実行依頼を受信し、その処理実行依頼をジョブ生成部452に渡す。また、依頼受付部451は、ジョブ生成部452からの実行結果に基づいて、Webアプリケーション410内のロジック部412に応答する。ジョブ生成部452は、Webアプリケーション410から送られてきた処理実行依頼からジョブを生成して実行する。ジョブを実行した結果はログ記録部460に記録される。なお、ログ記録部460には、ログインアプリケーションによって実行されるログイン、ログアウトの結果や、Webサーバ102との通信履歴なども記録される。
【0023】
続いて、Webサーバ102の機能構成について説明する。Webサーバ102は、Webアプリケーション410及びログ記録部420を含む。さらに、Webアプリケーション410は、プレゼンテーション部411、ロジック部412及びセッション管理部413を含む。
【0024】
プレゼンテーション部411は、MFP101が備えるWebブラウザ440と通信する。より具体的には、ユーザの指示などに伴うMFP101のWebブラウザ440からの要求を受信し、必要に応じてロジック部412に処理を行わせる。また、プレゼンテーション部411は、MFP101のWebブラウザ440からの要求やロジック部412の処理結果に応じてMFP101のWebブラウザ440に表示すべき操作画面の画面情報を生成し、MFP101のWebブラウザ440に送信する。
【0025】
ロジック部412は、プレゼンテーション部411が受け取った要求に応じて、各種処理を実行するとともに、MFP101のサービスプロバイダ450に対して、MFP101が備える機能の実行を要求する。具体的には、MFP101のプリンタ221による印刷処理の実行や、スキャナ222による読取処理の実行、又はネットワークI/F218を介した送信処理の実行を要求する。なお、このMFP101への実行要求は、Webブラウザ440とは別の接続で行われる。
【0026】
セッション管理部413は、MFP101からのログイン要求であるメニュー画面要求から、ログアウト要求が行われるまでのWebブラウザ440との通信に関して、状態及びデータの一時保存のためのセッション情報の管理を行う。なお、Webアプリケーション410で行われた処理、MFP101への実行要求及びその応答結果は、ログ記録部420に記録される。
【0027】
次に、LDAPサーバ103の機能構成について説明する。LDAPサーバ103は、認証情報管理部470と認証情報記憶部480とを含む。認証情報記憶部480には、MFP101の使用が許可されたユーザに対応する認証情報が予め記憶されている。認証情報管理部470は、認証情報記憶部480に記憶されている認証情報を管理する。また、認証情報管理部470は、MFP101のログインアプリケーション430から認証の問合せを受けた場合、問合せによって受け取った認証情報と認証情報記憶部480に記憶されている認証情報とを照合する。そして、その照合結果に応じて認証可否をログインアプリケーション430に返す。
【0028】
<ログイン時における各ブロックの動作>
次に、図4乃至図8を参照して、情報処理システム100におけるログイン時の動作に関する各機能ブロックの処理について説明する。まず、図4を参照して、本実施形態におけるログインアプリケーション430の動作について説明する。以下で説明する処理は、MFP101のCPU211が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、ログインアプリケーション430は、各ステップの処理に関する情報をログ記録部460に記録する。また、以下で説明するSに続く番号は、各処理のステップ番号を示す。
【0029】
S501において、画面表示部431は、操作部220にログイン画面を表示する。図5は、ログイン画面の一例を示す図である。ユーザはログインするために、図5に示すログイン画面601のユーザID入力欄602にユーザID(識別子)、パスワード入力欄603にパスワードを入力する。
【0030】
S502において、認証処理部432は、ユーザからログイン画面601を介して認証情報が入力されたか否かを判定する。具体的には、認証処理部432は、画面表示部431が表示しているログイン画面601のOKボタン604が押下されたか否かを判定する。OKボタン604が押下されていなければ、押下されるまで待機し、押下されるとS503に進む。
【0031】
続いて、S503において、認証処理部432は、ユーザによって入力されたユーザID及びパスワードを用いてログイン判定処理を行う。このとき、認証処理部432は、LDAPサーバ103に、ユーザによって入力されたユーザID及びパスワードを送信し、ログイン判定(ユーザ認証)の結果を要求する。なお、要求先であるLDAPサーバ103のアドレスは事前に設定されている。LDAPサーバ103は、認証情報管理部470によって認証処理部432からの要求を受け取る。その後、認証情報管理部470は、受け取ったユーザIDに基づいて、認証情報記憶部480に予め登録されているパスワードと受け取ったパスワードとを照合し、一致すればログインOKを、不一致であればログインNGを認証処理部432に返す。また、受け取ったユーザIDが認証情報記憶部480に登録されていない場合もログインNGを認証処理部432に返す。なお、LDAPサーバ103は、この動作以外に、ユーザ毎の固有の設定情報や権限の情報などを保持していて、ログインOKを返す際にそれらの情報を合わせて認証処理部432に返してもよい。このようなLDAPサーバ103の一連の動作は、LDAPサーバ103のCPU311が制御プログラムを実行することにより実現される。
【0032】
LDAPサーバ103から応答を受信すると、S504において、認証処理部432は、認証情報管理部470からログインOKを返されたか否かを判定する。ログインOKを返されたならばS506に進み、そうでない場合(ログインNGの場合)はS505に進む。S505において、画面表示部431は、図5に示すように、ログインエラーを表すメッセージ702を付加したログインエラー画面701を操作部220に表示し、S502に戻る。
【0033】
一方、S506において、ログインアプリケーション430は、ログインしたユーザに対応するログインコンテキストを生成する。ログインコンテキストは、ログインしたユーザを示す情報であり、図5に示すログイン画面601、701において入力されたユーザIDを含む。また、それ以外に、ログインしたときの日時やログインセッションを一意に識別するセッションIDなどを含んでもよい。また、LDAPサーバ103からユーザ固有の設定情報などを受け取る場合には、それらを含んでもよい。
【0034】
次に、S507において、ログインアプリケーション430は、ユーザがログインしたこと(ログインイベント)をWebブラウザ440に対して通知する。続いて、S508において、ログインアプリケーション430は、ログアウト要求を受信したか否かを判定し、受信するまで待機する。ログアウト要求を受信するとS509に進む。
【0035】
ログアウト要求を受信すると、S509において、ログインアプリケーション430は、S506で生成したログインコンテキストを削除する。これによって、ログインしたユーザはログアウトしたことになる。続いて、S510において、ログインアプリケーション430は、ユーザがログアウトしたこと(ログアウトイベント)をWebブラウザ440に対して通知する。そして、S511において、ログインアプリケーション430は、ログアウト要求に対してログアウト処理が終了したことを応答し、S501に戻ってMFP101の操作部220にログイン画面601を表示する。
【0036】
次に、図6を参照して、ログインイベントを受信した際のWebブラウザ440の動作について説明する。以下で説明する処理は、MFP101のCPU211が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webブラウザ440は、各ステップの処理に関する情報をログ記録部460に記録する。
【0037】
ログインイベントの通知を受信すると、S801において、ログイン管理部444は、ログインアプリケーション430からログインコンテキストを取得する。そして、S802において、ログイン管理部444は、取得したログインコンテキストからユーザIDを抽出し、保持する。続いて、S803において、ログイン管理部444は、MFP101を操作するためのメニュー画面をWebサーバ102のWebアプリケーション410から取得するために、Webアプリケーション410にログイン要求を行う。このとき、S802で抽出したユーザIDを要求に付加して送信する。なお、要求先であるWebサーバ102のアドレスは、Webブラウザ440で予め記憶している。また、ここで、要求には、ユーザIDを付加しているが、ユーザIDを抽出せずにログインコンテキスト自体を要求に付加してもよいし、それらに加えて要求元であるMFP101のIPアドレスなども付加してもよい。最後に、S804において、Webブラウザ440は、S803での要求の応答として受信した画面情報を解析部442によって解析し、画面表示部443によってMFP101の操作部220に操作画面を表示する。
【0038】
次に、図7を参照して、ログイン要求を受信した際のWebアプリケーション410の動作について説明する。以下で説明する処理は、Webサーバ102のCPU311が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webアプリケーション410は、各ステップの処理に関する情報をログ記録部420に記録する。
【0039】
S901において、Webアプリケーション410は、受信した要求にユーザIDが含まれるか否かを判定する。含まれる場合はS902に進み、含まれない場合はS905に進む。S902において、セッション管理部413は、MFP101にログインしたユーザからの接続に対するセッション情報を生成する。セッション情報は、セッションIDや受信した要求に含まれるユーザIDを含み、さらにWebブラウザ440で表示させている操作画面のIDなど、Webアプリケーション410のステータス情報を含む。これらの情報は、不正な要求や重複する要求を受け付けるのを防止するために利用される。セッション情報は、セッション情報に対応するユーザIDのログアウト要求を受信するまでの間、セッション管理部413において保持される。
【0040】
続いて、S903において、プレゼンテーション部411は、MFP101を操作するためのメニュー画面の情報を生成する。ここで、図8を参照して、MFP101に表示されることになるメニュー画面について説明する。メニュー画面1001において、ボタン1002〜1005は、それぞれMFP101が備えるコピー、送信、スキャン、プリントの各機能を実行するためのボタンである。また、1010は、Webアプリケーション410とのセッションを終了するためのログアウトボタンである。その後、S904において、セッション管理部413は、保持しているセッション情報に含まれるステータス情報を、生成された画面情報の画面IDによって更新する。
【0041】
一方、S901で要求にユーザIDが含まれないと判定されると、S905において、プレゼンテーション部411は、受信した要求が不正である旨の表示を行うエラー画面1101の画面情報を生成する。エラー画面1101の一例については図8に示す。これによって、MFP101にログインしたユーザ以外からの要求を拒絶する。
【0042】
その後、S906において、プレゼンテーション部411は、S903又はS905で生成された画面情報をWebブラウザ440に応答として送信する。送信された画面情報は、Webブラウザ440によってMFP101の操作部220に表示されることになる。
【0043】
<イベント発生時における各ブロックの動作>
次に、図9乃至図13を参照して、Webアプリケーション410への要求イベントが発生した際の情報処理システム100における各機能ブロックの動作について説明する。まず、図9を参照して、要求イベントが発生したときのWebブラウザ440の処理について説明する。以下で説明する処理は、MFP101のCPU211が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webブラウザ440は、各ステップの処理に関する情報をログ記録部460に記録する。ここで、Webアプリケーション410への要求イベント(ユーザ指示)は、メニュー画面1001のコピーや送信などの機能を実行する各ボタン1002〜1005やログアウトボタン1010がユーザによって押下されることにより発生する。
【0044】
S1201において、画面イベント処理部441は、操作されたボタンなどの内容に応じて、Webアプリケーション410に対して要求を送信する。ここで、画面イベント処理部441、イベント通知手段の一例である。例えば、送信機能を利用するための送信機能ボタン1003が押下された場合には、送信機能を実行するための送信機能画面の表示要求が送信される。また、ログアウトボタン1010が押下された場合には、ログアウトするためのログアウト要求が送信される。なお、Webブラウザ440がWebアプリケーション410に送信する要求には、ログイン管理部444が保持しているユーザIDが付加される。
【0045】
S1202において、Webブラウザ440は、送信した要求に対する応答をWebアプリケーション410から受信し、その内容を解析部442において解析する。続いて、S1203において、Webブラウザ440は、解析結果に基づいて必要な処理を行い、画面表示部443によってMFP101の操作部220に応答として受信した画面情報を描画する。
【0046】
次に、図10を参照して、Webブラウザ440が要求を送信した際のWebアプリケーション410の処理について説明する。以下で説明する処理は、Webサーバ102のCPU311が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webアプリケーション410は、各ステップの処理に関する情報をログ記録部420に記録する。
【0047】
S1301において、Webアプリケーション410は、受信した要求にユーザIDが含まれるか否かを判定する。含まれている場合はS1302へ進み、含まれていない場合はS1314へ進む。S1302において、Webアプリケーション410は、受信した要求に含まれているユーザIDが、セッション管理部413が保持しているセッション情報に含まれるユーザIDと一致するか否かを判定する。一致する場合はS1303へ進み、一致しない場合はS1314へ進む。
【0048】
S1303において、Webアプリケーション410は、セッション管理部413が保持しているセッション情報に含まれるステータス情報を参照し、受信した要求内容が、現ステータスにおいて受付可能か否かを判定する。受付可能な場合はS1304へ進み、受付不可の場合はS1314へ進む。
【0049】
S1304において、Webアプリケーション410は、セッション管理部413が保持しているセッション情報のステータス情報に、要求を受け付けたことをその要求の内容とともに追加する。次に、S1305において、Webアプリケーション410は、受信した要求がログアウト要求か否かを判定する。当該処理は、判定手段又は第2判定手段の処理の一例である。ログアウト要求の場合はS1310に進み、ログアウト以外の要求の場合はS1306に進む。例えば、メニュー画面1001において、ログアウトボタン1010が押されたことによって要求が行われた場合には、ログアウト要求が行われるため、ここでの判定結果はYESとなる。メニュー画面1001において、ログアウトボタン1010以外のボタン1002〜1005が押されたことによって要求が行われた場合には、ログアウト要求ではない要求が行われるため、ここでの判定結果はNOとなる。
【0050】
S1306において、Webアプリケーション410は、受信した要求がMFP101での処理を実行することを含むか否かを判定する。MFP101での処理を含む場合はS1308に進み、含まない場合はS1307に進む。例えば、メニュー画面1001で送信機能ボタン1003が押下されたことによる要求(送信機能画面の表示要求)を受信した場合には、MFP101での処理実行はまだ行われないため、MFP101での処理実行は含まないと判定される。
【0051】
S1307において、Webアプリケーション410は、要求の内容に応じてロジック部412によって処理を実行し、プレゼンテーション部411によって要求の結果に対する操作画面の画面情報を生成する。例えば、メニュー画面1001で送信機能ボタン1003が押下されたことによる要求(送信機能画面の表示要求)を受信した場合には、送信機能の実行に必要な情報を入力させる送信機能画面を生成する。
【0052】
ここで、図11を参照して、送信機能画面1401について説明する。図11に示すように、送信機能画面1401において、ユーザは、送信方式、宛て先、読み取った画像のファイル形式などを設定することができる。送信方式選択ボタン1402は、ドロップダウン式のボタンであり、送信方式として、電子メール、FTP、FAXなどが選択できる。図11の例では電子メールが選択されている。宛て先入力フォーム1403は、送信先の情報を入力するためのフォームであり、図11の例ではメールアドレスが入力されている。なお、送信方式がFTPの場合は、送信先サーバのアドレス、パス、ファイル名を入力する宛て先入力フォーム1403の他に、送信先にログインするための情報を入力するフォームが表示される。また、送信方式がFAXの場合は、宛て先入力フォーム1403には送信先のFAX番号が入力されることになる。ファイル名入力フォーム1404は、送信する画像ファイルに付けるファイル名を入力するためのフォームである。図11の例においては、「document1.pdf」というファイル名が入力されている。ファイル形式選択ラジオボタン1405は、読み取った画像をどの形式のファイルとして送信するかを選択するためのラジオボタンである。図11の例においては、PDFとJPEGを選択することができ、PDFが選択されている。送信ボタン1406は、MFP101のスキャナ222にセットされた原稿を読み取り、送信設定に基づいて送信を行う処理を開始させるためのボタンである。送信ボタン1406が押下されると、Webブラウザ440は、送信設定の情報、ユーザIDとともに送信機能の実行を開始させるための要求(送信機能実行要求)をWebアプリケーション410に送信する。キャンセルボタン1407は、送信機能の実行を取りやめるためのボタンである。キャンセルボタン1407が押下されると、ユーザIDとともに、元のメニュー画面1001を表示するための要求(メニュー画面表示要求)がWebサーバ102のWebアプリケーション410に送られる。ログアウトボタン1410はログアウトを行うためのボタンであり、メニュー画面1001のログアウトボタン1010と同等である。
【0053】
図10の説明に戻る。S1306でMFP101の処理実行が含まれる場合、S1308において、Webアプリケーション410は、Webブラウザ440から受信した要求の内容に従って、MFP101のサービスプロバイダ450に対して処理実行依頼を送信する。このとき、Webアプリケーション410は、Webブラウザ440の要求に含まれているユーザIDを処理実行依頼に付加する。例えば、送信機能画面1401において、送信ボタン1406が押下されて行われた要求(送信機能の実行要求)を受信した場合には、ここでサービスプロバイダ450に対して送信機能の処理実行依頼が行われる。
【0054】
S1309において、Webアプリケーション410は、S1308での処理実行依頼に対する応答をサービスプロバイダ450から受信する。さらに、Webアプリケーション410は、受信した内容に応じてロジック部412によって処理を行い、Webブラウザ440に送信する実行結果画面1501の情報をプレゼンテーション部411によって生成する。図11に、送信機能を実行したときの実行結果画面1501の一例を示す。
【0055】
また、S1305で要求がログアウトである場合、S1310において、Webアプリケーション410は、MFP101のサービスプロバイダ450にログアウトの処理実行依頼を送信する。このとき、Webアプリケーション410は、Webブラウザ440の要求に含まれているユーザIDを処理実行依頼に付加する。続いて、S1311において、Webアプリケーション410は、サービスプロバイダ450からの応答を受信する。応答を受信すると、S1312において、Webアプリケーション410は、S902で作成したセッション情報を削除する。さらに、S1313において、Webアプリケーション410は、プレゼンテーション部411によってログアウトの完了をユーザに通知するためのログアウト完了画面の情報を生成し、S1316に進む。
【0056】
上述したように、S1301で要求にユーザIDが含まれてない場合、S1302でセッション情報とユーザIDとが一致しない場合、S1303で要求内容が受付可能でない場合は、S1314に進む。S1314において、Webアプリケーション410は、プレゼンテーション部411によって図11に示すエラー画面1101の画面情報を生成し、S1315に進む。
【0057】
S1315において、Webアプリケーション410は、セッション管理部413が保持しているセッション情報に含まれるステータス情報を、生成された画面情報の画面IDによって更新する。ここでは、S1307、S1309又はS1314で生成された画面情報の画面IDによってステータス情報が更新される。続いて、S1316において、Webアプリケーション410は、生成された画面情報をWebブラウザ440に応答として送信する。ここでは、S1307、S1309、S1313又はS1314で生成された画面情報が送信される。
【0058】
次に、図12を参照して、Webアプリケーション410がS1308又はS1310で送信した処理実行依頼を、MFP101のサービスプロバイダ450が受信した際の処理について説明する。以下で説明する処理は、MFP101のCPU211が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、サービスプロバイダ450は、各ステップの処理に関する情報をログ記録部460に記録する。
【0059】
S1701において、サービスプロバイダ450は、受信した処理実行依頼にユーザIDが含まれるか否かを判定する。含まれている場合はS1702に進み、含まれていない場合はS1709に進む。S1702において、サービスプロバイダ450は、ログインアプリケーション430により生成されたログインコンテキストを取得する。そして、S1703において、サービスプロバイダ450は、取得したログインコンテキストの中からユーザIDを抽出する。
【0060】
次に、S1704において、サービスプロバイダ450は、受信した処理実行依頼に含まれるユーザIDと、S1703で抽出したユーザIDとが一致するか否かを判定する。ユーザIDが一致していればS1705に進み、一致していない場合はS1709に進む。S1705において、サービスプロバイダ450は、受信した処理実行依頼がログアウトであるか否かを判定する。ログアウトである場合はS1707に進み、そうでない場合はS1706に進む。
【0061】
処理実行依頼がログアウトで無い場合、S1706において、サービスプロバイダ450は、Webアプリケーション410からの依頼内容に従って処理を実行する。そして、S1710において、サービスプロバイダ450は、S1706の処理実行結果をWebアプリケーション410に応答する。一方、処理実行依頼がログアウトである場合、S1707において、サービスプロバイダ450は、ログインアプリケーション430に対してログアウト要求を送信する。そして、S1708において、サービスプロバイダ450は、ログアウト要求の応答を受信し、受信した応答をS1710で処理結果としてWebアプリケーション410に応答する。
【0062】
S1709において、サービスプロバイダ450は、ユーザID情報が不正である旨のエラー情報を処理実行結果として生成し、S1710でそれをWebアプリケーション410に応答する。このように、S1701でユーザIDが含まれていない場合やS1704でユーザIDが一致しない場合に、処理実行依頼をエラーとする。これにより、MFP101のWebブラウザ440で操作しているユーザ以外からの処理実行依頼を実行してしまうことを防止することができる。
【0063】
次に、図13を参照して、ログインアプリケーション430からログアウトイベントの通知を受信した際のWebブラウザ440の処理について説明する。以下で説明する処理は、MFP101のCPU211が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webブラウザ440は、各ステップの処理に関する情報をログ記録部460に記録する。S1801において、Webブラウザ440のログイン管理部444は、ログインアプリケーション430からログアウトイベントの通知を受信すると、保持しているユーザIDを削除して、処理を終了する。
【0064】
次に、画面例を用いながら、ログイン、MFPの機能の実行、ログアウトの各処理の流れについて説明する。
【0065】
<ログイン処理>
次に、操作部220に表示する画面例を用いて、本実施形態に係るログイン処理について説明する。まず、ログインアプリケーション430は、S501において図5に示すログイン画面601を操作部220に表示している。ログイン画面601では、ユーザIDに「user001」、当該ユーザのパスワードに「password」(表示上は「********」とマスクされる。)がユーザによって入力されている。ここで、ユーザによってOKボタン604が押下されると、ログインアプリケーション430におけるS502の判定がYESとなり、S503で認証処理部432がログイン判定処理を行う。このとき、入力されたユーザIDとパスワードとがLDAPサーバ103に渡され、LDAPサーバ103において、認証情報記憶部480に保持されているユーザの認証情報との照合が行われる。この結果がOKである場合、S506でログインコンテキストを生成し、S507でログインイベントをWebブラウザ440のログイン管理部444に通知する。Webブラウザ440のログイン管理部444は、ログインイベントを受信すると、S801でログインアプリケーション430が生成したログインコンテキストを取得する。そして、S802でユーザID「user001」を取り出して保持し、そのユーザID「user001」を含めてログイン要求をWebアプリケーション410に対して送信する。
【0066】
ログイン要求を受信すると、Webアプリケーション410は、まずS901において、要求にユーザIDが含まれるか否かを確認する。受信した要求には、ユーザID「user001」が含まれているため、ここではYESと判定する。次に、Webアプリケーション410におけるログイン処理として、S902においてセッション管理部413でセッション情報を生成し、「user001」とのセッションを開始する。さらに、S903においてプレゼンテーション部411がメニュー画面1001の画面情報を生成する。S904では、セッション管理部413が保持しているセッション情報に含まれるステータス情報を、生成した画面情報の画面IDによって更新し、S906で生成した画面情報をWebブラウザ440に応答として送信する。ここで、Webブラウザ440は、S804で受信した画面情報を解析部442によって解析し、画面表示部443によってメニュー画面1001を表示する。
【0067】
<MFPの機能の実行>
続いて、上記ログイン処理が終了して、メニュー画面1001が表示された後に、送信機能の実行を例にして、MFP101の機能の実行について説明する。ユーザによってメニュー画面1001の送信機能ボタン1003が押下されると、S1201において、Webブラウザ440は、Webアプリケーション410に送信機能画面の表示要求を送信する。このとき、要求にユーザID「user001」が含められる。
【0068】
Webアプリケーション410は、その送信機能画面の表示要求を受信すると、S1301ではYES、S1302ではYES、S1303ではYESとそれぞれ判定する。そして、S1304において、セッション管理部413が保持しているセッション情報が持つステータス情報に、現在のステータスにおける要求を受け付けたことを記録する。次のS1305、S1306における判定はともにNOとなり、S1307において、送信機能で必要となる設定及び送信機能の実行をユーザに行わせる送信機能画面1401の情報をプレゼンテーション部411が生成する。その後、S1315では、セッション管理部413が保持しているセッション情報に含まれるステータス情報を、生成した画面情報の画面IDによって更新する。そして、Webアプリケーション410は、S1316で生成した画面情報をWebブラウザ440に応答として送信する。ここで、Webブラウザ440は、S1202において、Webアプリケーション410からの応答を受信して解析し、S1203において、送信機能画面1401を描画する。
【0069】
その後、ユーザによって、送信機能画面1401の送信ボタン1406が押下されると、S1201において、Webブラウザ440は、送信機能の実行要求をWebアプリケーション410に送信する。ここで、送信機能の実行要求には、ユーザID「user001」の他に、送信設定で設定された値が含められる。図11の例では、送信設定として、「送信方式=電子メール」、「宛て先=abcd@efgh.ijk」、「ファイル名=document1.pdf」、「ファイル形式=PDF」が要求に含められる。
【0070】
送信機能の実行要求を受信すると、Webアプリケーション410は、送信機能画面の表示要求を受信したときと同様にS1301、S1302、S1303、S1304、S1305の順で処理を行う。しかし、S1306では、MFP101での実行を行う要求であるため、判定はYESとなる。そして、S1308において、Webアプリケーション410は、MFP101のサービスプロバイダ450に対して送信機能の処理実行依頼を送信する。このとき、Webブラウザ440からの要求に含まれているユーザID及び送信設定の値が処理実行依頼に含められる。
【0071】
送信機能の処理実行依頼を受信すると、サービスプロバイダ450は、S1701でYESと判定し、S1702でログインアプリケーション430からログインコンテキストを取得する。そして、サービスプロバイダ450は、S1703でそのログインコンテキストからユーザIDを取得し、S1704で処理実行依頼に含まれるユーザIDと照合する。ここで、これらユーザIDはともに「user001」であるため、S1704の判定はYESとなる。次のS1705では、ログアウトの処理実行依頼ではないため、判定はNOとなる。そして、S1706において、処理実行依頼に含まれる送信設定に基づき、送信機能が実行される。具体的には、MFP101がスキャナ222にセットされた原稿を読み取り、「document1.pdf」という名称のPDFファイルを生成する。そして、メールアドレス「abcd@efgh.ijk」宛ての電子メールに生成したファイルを添付して送信する。そして、その実行結果をS1710においてWebアプリケーション410に応答として送信する。
【0072】
Webアプリケーション410は、S1309において、送信機能の処理実行依頼の実行結果を受信し、その内容に応じてプレゼンテーション部411が送信機能の実行結果画面1501の情報を生成する。さらに、Webアプリケーション410は、S1315でセッション情報に含まれるステータス情報を、生成した画面情報の画面IDによって更新し、S1316で生成した画面情報をWebブラウザ440に応答として送信する。ここで、Webブラウザ440は、S1202で受信した送信機能の実行結果画面1501の情報を解析し、S1203で表示する。
【0073】
<ログアウト処理>
続いて、メニュー画面1001のログアウトボタン1010が押下された場合を例にして、本発明の特徴となるログアウト処理について説明する。なお、送信機能画面1401のログアウトボタン1410や送信機能の実行結果画面1501のログアウトボタン1510が押下された場合も同様の処理となる。
【0074】
ユーザによってメニュー画面1001のログアウトボタン1010が押下されると、S1201において、Webブラウザ440は、イベント通知手段として機能し、Webアプリケーション410にログアウト要求を送信する。このとき要求にユーザID「user001」が含められる。Webアプリケーション410は、ログアウト要求を受信すると、MFP101の機能の実行のときと同様に、S1301、S1302、S1303、S1304の順で処理を行う。しかし、S1305では、ログアウト要求であるため、判定はYESとなる。そして、S1310において、Webアプリケーション410は、ログアウト通知手段として機能し、MFP101のサービスプロバイダ450に対してログアウトの処理実行依頼を送信する。このとき、Webブラウザ440からの要求に含まれているユーザIDが処理実行依頼に含められる。
【0075】
ログアウトの処理実行依頼を受信すると、サービスプロバイダ450は、MFPの機能の実行のときと同様に、S1701、S1702、S1703、S1704の順で処理を行う。しかし、S1705では、ログアウトの処理実行依頼であるため、判定はYESとなる。そして、S1707において、サービスプロバイダ450は、ログインアプリケーション430に対してログアウト要求を行う。ログインアプリケーション430は、ログアウト要求を受信すると、S508の判定がYESとなり、S509でログインコンテキストを削除する。そして、S510でWebブラウザ440にログアウトイベントを通知する。ログアウトイベントの通知を受信すると、Webブラウザ440のログイン管理部444は、S1801において、保持しているユーザIDを削除する。その後、ログインアプリケーション430は、S511でサービスプロバイダ450にログアウト要求の処理結果を応答し、S501に戻ってログイン画面601を表示する。サービスプロバイダ450は、S1708において、ログインアプリケーション430からの処理結果を受信し、さらにそれをS1710において、Webアプリケーション410に結果として送信する。なお、上述したS1707及びS1708の処理は、第1ログアウト手段の処理の一例である。
【0076】
サービスプロバイダ450からログアウト結果を受信すると、Webアプリケーション410は、S1312でセッション管理部413が保持しているセッション情報を削除する。そして、S1313においてログアウト完了画面1601の情報を生成し、その画面情報をS1316でWebブラウザ440に送信する。Webブラウザ440は、S1202で受信したログアウト完了画面1601の情報を解析し、S1203で表示する。ただし、このとき、ログインアプリケーション430が、S511からS501に戻り、MFP101の操作部220には既にログイン画面601が表示されている状態となる。なお、上述したS1310乃至S1313、及び、S1316の処理は、第2ログアウト手段の処理の一例である。
【0077】
以上説明したように、本実施形態に係る情報処理システムは、Webサーバから提供されたWebブラウザの操作画面を介して入力されたユーザ指示をイベントとしてWebサーバに対して通知する。ここで、Webサーバは、通知されたイベントを解析し、当該イベントがログアウト要求であれば、Webサーバのログアウト処理を実行するとともに、MFPに対してログアウト要求を通知する。MFPは、Webサーバからログアウト要求を受信するとMFPのログアウト処理を実行する。このように、本情報処理システムでは、Webブラウザで表示する操作画面のログアウトボタン等がユーザにより選択されることにより、Webサーバ及びMFP双方からのログアウト処理を実行する。つまり、ユーザにとっては、Webブラウザの操作感のまま、双方のログアウト処理を一度に指示することができ、容易にログアウト処理を実行できる。
【0078】
<第2の実施形態>
次に、第2の実施形態について説明する。本実施形態では、第1の実施形態で説明した構成に加え、Webアプリケーション410へのログアウト要求時に、MFP101からもログアウトするかどうかをユーザに確認する。まず、図14を参照して、S1201でWebブラウザ440が送信した要求を受信した際のWebアプリケーション410の処理について説明する。以下で説明する処理は、Webサーバ102のCPU311が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webアプリケーション410は、各ステップの処理に関する情報をログ記録部420に記録する。また、図14におけるS1301乃至S1316の各処理は、図10に示す処理と同様の処理であるため、説明を省略する。
【0079】
S1901において、Webアプリケーション410は、受信した要求がMFPログアウト確認であるか否かを判定する。第1の実施形態では、ログアウトボタン1010等がユーザによって押下された場合、ログアウト要求がWebアプリケーション410に対して行われていた。しかし、本実施形態では、これがMFPログアウト確認要求となっている。受信した要求がMFPログアウト確認要求であった場合は、S1902へ進み、そうでない場合は、S1306へ進む。
【0080】
S1902において、Webアプリケーション410は、MFPログアウト確認画面2001の画面情報をプレゼンテーション部411によって生成する。図15に、Webブラウザ440に表示されるMFPログアウト確認画面2001の一例を示す。生成された画面情報はS1316でWebブラウザ440に送信され、その後、Webブラウザ440で表示される。当該処理は、画面情報送信手段の処理の一例である。そして、図15に示すMFPログアウト確認画面2001において、はいボタン2002がユーザによって押下されると、Webアプリケーション及びMFPログアウト要求がWebアプリケーションに送信される。一方、いいえボタン2003がユーザによって押下されると、Webアプリケーションログアウト要求がWebアプリケーションに送信される。これらの要求は、Webアプリケーション410において、いずれもログアウト要求とみなされ、S1305での判定はYESとなり、S1903へ進む。
【0081】
S1903において、Webアプリケーション410は、Webアプリケーション及びMFPログアウト要求であるか否かを判定する。Webアプリケーション及びMFPログアウト要求である場合には、S1310に進み、以降、第1の実施形態と同様の処理を行い、MFP101及びWebアプリケーション410の双方からログアウトする。一方、Webアプリケーション410のログアウト要求である場合には、S1310、S1311はスキップし、Webアプリケーションでのログアウト処理(セッション情報の削除)のみが行われる。なお、上述の処理は、ログアウト制御手段の処理の一例である。
【0082】
以上説明したように、本実施形態に係る情報処理システムは、ユーザからログアウト要求が指示された場合に、Webサーバからログアウトするとともに、ユーザに対してMFPからもログアウトするか否かを確認する。これにより、Webサーバが不要な機能を情報処理装置で継続して使用したい場合に、再度ログインする手間を省くことができる。
【0083】
<第3の実施形態>
次に、第3の実施形態について説明する。本実施形態では、第2の実施形態で説明したMFP101からもログアウトするかどうかの確認を、ユーザの選択により設定可能にする。また、以下では、上記実施形態と異なる構成及び技術についてのみ説明を記載する。
【0084】
本実施形態によれば、LDAPサーバ103の認証情報記憶部480において、ログアウトの際の動作の設定情報(属性情報)をユーザ(識別子)毎に対応付けて保持する。設定値としては、「Webアプリケーションログアウト」、「Webアプリケーション及びMFPログアウト」、「MFPログアウト確認」の3つがある。「Webアプリケーションログアウト」は、ユーザがログアウト操作を行った際に、Webアプリケーションからのみログアウトし、MFPからはログアウトしないことを表す。「Webアプリケーション及びMFPログアウト」は、第1の実施形態と同様に、ユーザがログアウト操作を行った際、WebアプリケーションとMFPの双方からログアウトすることを表す。「MFPログアウト確認」は、第2の実施形態と同様に、ユーザがログアウト操作を行った際、MFPログアウト確認画面2001を表示することを表す。なお、この設定値は、S503においてログイン処理が行われた際、LDAPサーバ103からログインアプリケーション430に渡され、ログインコンテキストに付加される。そして、S802において、Webブラウザ440によってユーザIDとともに抽出され、S803でWebアプリケーション410への要求に付加され、送信される。当該処理は、属性情報送信手段の処理の一例である。また、当該要求を受信したWebアプリケーション410は、S902において、要求に含まれる設定値をセッション情報に保持する。
【0085】
次に、図16を参照して、ユーザによってログアウト操作が行われた場合の動作について説明する。以下で説明する処理は、Webサーバ102のCPU311が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webアプリケーション410は、各ステップの処理に関する情報をログ記録部420に記録する。なお、図16におけるS1301乃至S1316の各処理は図10に示す処理と同様の処理であり、S1901乃至S1903の各処理は図14に示す処理と同様の処理であるため説明を省略する。
【0086】
本実施形態によれば、第2の実施形態と同様に、ログアウトボタン1010等がユーザによって押下された場合、MFPログアウト確認要求がWebアプリケーション410に送信される。Webアプリケーション410がこれを受信した場合、S1901からS2101に処理が進む。S2101において、Webアプリケーション410は、セッション情報に含まれる、ログアウトの動作に関する設定値を確認する。当該設定値が「MFPログアウト確認」である場合は、S1902に進み、第2の実施形態と同様の処理を行う。一方、設定値が「Webアプリケーションログアウト」、「Webアプリケーション及びMFPログアウト」である場合、S1903に進み、第2の実施形態と同様の処理を行う。なお、上述の処理は、ログアウト制御手段の処理の一例である。
【0087】
以上説明したように、本実施形態に係る情報処理システムは、Webサーバからログアウトするとともに、MFPからログアウトするか否かを属性情報に応じて制御する。このように、本情報処理システムによれば、ユーザ毎にログアウト要求した際のログアウト制御を予め設定しておくことで、例えば、情報処理装置のログアウト確認が不要なユーザにとっては余計な手間を省くことができる。
【0088】
<第4の実施形態>
次に、第4の実施形態について説明する。本実施形態は、第1の実施形態と比較して、Webブラウザ440がログアウト要求を検出して処理を行うことと、Webアプリケーション410からサービスプロバイダ450にログアウト要求が行われないことが異なる。まず、図17を参照して、Webアプリケーション410への要求イベントが発生したときのWebブラウザ440の処理手順について説明する。以下で説明する処理は、MFP101のCPU211が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webブラウザ440は、各ステップの処理に関する情報をログ記録部460に記録する。また、図17に示すS1201乃至S1203の処理は、図9に示す処理と同様であるため説明を省略する。
【0089】
S2201において、Webブラウザ440は、発生したイベントがログアウトボタン1010等を押下されたことによるものかどうかを判定する。ここで、ログアウトボタンが押下されたかどうかは、要求として送信されるformデータの中に、name属性の値として「logout」が含まれるか否かによって判定する。以下に、そのような情報が生成されるログアウトボタンのHTML記述の例を示す。
<form method=”POST” action=”Logout.do”>
<input type=”submit” name=”Logout” value=”ログアウト”>
</form>
なお、これ以外にもformのactionで指定されているサーブレット等の名称で判定してもよい。ログアウトボタンによるイベントの場合は、S2202に進む。それ以外のイベントの場合はS1201に進み、第1の実施形態と同様に処理を行う。S2202では、Webブラウザ440は、ログインアプリケーション430にログアウト要求を行う。その後、S1201に進み、第1の実施形態と同様の処理を行う。
【0090】
次に、図13を参照して、S1201でWebブラウザ440が送信した要求を受信した際のWebアプリケーション410の処理について説明する。本実施形態では、図10に示すフローチャートからS1310、S1311の処理が省略される。そのため、他の処理についての説明は省略する。
【0091】
S1305において、判定がYESである場合、図10のフローチャートで行われていたS1310及びS1311の処理を行わずに、S1312の処理に進む。これは、本実施形態ではWebブラウザ440においてログアウト要求を検出してMFP101のログアウト処理を行うため、Webアプリケーション410からサービスプロバイダ450へのログアウト処理実行依頼が不要となるからである。このため、Webアプリケーション410は、S1312において直ちにセッション情報を削除するというWebアプリケーション410のログアウト処理を実施することになる。
【0092】
以上説明したように、第4の実施形態では、Webアプリケーション410からサービスプロバイダ450へのログアウト処理実行依頼を行うことがなくなるため、通信に掛かる手間が省略できる。このため、より迅速なログアウト処理を実現することができる。
【0093】
なお、本発明は、上記実施形態に限らず様々な変形が可能となる。例えば、本実施形態は、第2及び第3の実施形態と組み合わせて実現されてもよい。ここで、本実施形態を第2の実施形態に適用した場合について説明する。図17に示すS2201において、Webブラウザ440は、Webアプリケーション及びMFPログアウト要求が発生するイベントか否かを判定する。なお、この処理は、後述する図18に示すS2801の処理に相当する。ここで、Webアプリケーション及びMFPログアウト要求が発生するイベントか否かは、送信されるformのデータの中に、name属性の値として「logout_both」が含まれるか否かによって判定する。以下に、そのような要求が生成されるログアウトボタンのHTML記述の例を示す。
<form method=”POST” action=”Logout.do”>
<input type=”submit” name=”Logout_both” value=”はい”>
<input type=”submit” name=”Logout_app” value=”いいえ”>
</form>
MFPログアウト確認画面2001のはいボタン2002がこのような記述で構成されることになる。なお、これ以外にもformのactionで指定されているサーブレット等の名称で判断するようにしてもよい。このような判定の結果、YESであればS2202に進み、本実施形態と同様の処理を行う。一方、判定の結果がNOであればS1201に進み、通常の要求イベントとして処理を行う。この場合、Webサーバ102の利用終了時にMFP101からログアウトするか否かを選択することができる。これにより、Webサーバ102が不要な機能をMFP101で継続して使用したい場合に、再度ログインしなくてはいけない手間を省くことができる。
【0094】
一方、本実施形態を第3の実施形態に適用した場合について説明する。この場合、第3の実施形態と同様に、LDAPサーバ103の認証情報記憶部480がログアウトの際の動作の設定情報をユーザ毎に保持している。そして、そのログアウトの際の動作の設定情報は、第3の実施形態と同様に、S503でのログイン処理時に、LDAPサーバ103からログインアプリケーション430に渡され、ログインコンテキストに含められる。さらに、ログアウトの際の動作の設定情報は、S802においてWebブラウザ440のログイン管理部444によってユーザIDとともに抽出されて保持され、S803でWebアプリケーション410への要求に含められ送信される。その要求を受信したWebアプリケーション410は、S902において、要求に含まれる設定値をセッション情報に保持する。
【0095】
ここで、図18を参照して、Webアプリケーション410への要求イベントが発生したときのWebブラウザ440の処理手順について説明する。以下で説明する処理は、MFP101のCPU211が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webブラウザ440は、各ステップの処理に関する情報をログ記録部460に記録する。また、図18は、図17に示すフローチャートから、S2801乃至S2804が追加され、S2201が削除されている。
【0096】
まず、S2801において、Webブラウザ440は、Webアプリケーション及びMFPログアウト要求が発生するイベントか否かを判定する。なお、この判定は本実施形態を第2の実施形態に適用した場合の上述した判定と同様である。このような判定の結果、NOであればS2802に進み、YESであればS2202に進み、ログインアプリケーション430にログアウト要求を行う。
【0097】
S2802において、Webブラウザ440は、MFPログアウト確認要求が発生するイベントか否かを判定する。ここで、MFPログアウト確認要求が発生するイベントか否かは、送信されるformのデータの中に、name属性の値として「confirm_logout」が含まれるか否かによって判断する。以下に、そのような情報が生成されるログアウトボタンのHTML記述の例を示す。
<form method=”POST” action=”Logout.do”>
<input type=”submit” name=”confirm_logout” value=”ログアウト”>
</form>
ログアウトボタン1010がこのような記述で構成されることになる。なお、これ以外にもformのactionで指定されているサーブレット等の名称で判断するようにしてもよい。このような判定の結果、YESであればS2803に進み、NOであればS1201に進み、通常の要求イベントとして処理を行う。
【0098】
S2803では、Webブラウザ440のログイン管理部444が保持しているログアウトの際の動作の設定情報を確認し、設定値が「MFPログアウト確認」であるかどうかを判定する。判定の結果がYESであれば、S1201に進み、通常の要求イベント(MFPログアウト確認要求)として処理を行う。判定の結果がNOであれば、S2804に進む。
【0099】
S2804では、再度ログイン管理部444が保持しているログアウトの際の動作の設定情報を確認し、設定値が「Webアプリケーション及びMFPログアウト」であるか否かを判定する。判定の結果がYESであれば、S2202に進み、ログインアプリケーション430にログアウト要求を行う。判定の結果がNOであれば、S1201に進み、通常の要求イベント(Webアプリケーションログアウト要求)として処理を行う。このように、本実施形態を第3の実施形態に適用すると、ユーザの設定値に応じて、Webサーバ102の利用終了時にMFP101からログアウトするか否かの選択を省略することができ、確認が不要なユーザには余計な手間を省くことができる。
【0100】
なお、S2804におけるログアウトの際の動作設定情報の判定を、次のようにすることも可能である。すなわち、S2803の判定がNOのときにS2202に進むようにする。そして、S2202でログインアプリケーション430にログアウトを要求した際、ログインアプリケーション430においてS2804の判定を行い、ログアウト処理をするか否かを判定してもよい。
【0101】
<第5の実施形態>
次に、第5の実施形態について説明する。本実施形態では、Webアプリケーション410からのログアウト処理実行依頼が、サービスプロバイダ450に対して行われるのではなく、ログアウト要求のWebブラウザ440への応答に含められて指示される。さらに、Webブラウザ440は、当該指示を検出してログインアプリケーション430にMFP101のログアウトを要求する。
【0102】
図19を参照して、Webアプリケーション410への要求イベントが発生したときのWebブラウザ440の処理手順について説明する。以下で説明する処理は、MFP101のCPU211が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webブラウザ440は、各ステップの処理に関する情報をログ記録部460に記録する。また、図19におけるS1201乃至S1203の各処理は、図9に示す処理と同様であるため説明を省略する。
【0103】
S3001において、Webブラウザ440は、第1判定手段として機能し、Webアプリケーション410からの応答に、ログアウト処理実行依頼の記述があるか否かを判定する。実際には、この記述についての検出はS1202で行われる。以下に、このログアウト処理実行依頼の記述の例を示す。
<head>
<script type=”text/mfpscript”>
<!−−
window.onload=function(){
logout();
}
//−−>
</script>
</head>
この記述は、HTMLファイルのHEADタグ内にて、MFP101が備えるWebブラウザ440が解釈可能なスクリプト言語(例えば、mfpscript)として記述される。この記述が含まれているHTMLファイルをWebブラウザ440が読み込み、スクリプトを解釈してlogout()メソッドを実行した際にS3001の判定がYESとなる。なお、このような記述ではなく、単純に予め定められたコメントを検出することや、TITLEタグに予め定められた名称を指定することなどで検出してもよい。S3001の判定がYESであれば、S3002に進み、Webブラウザ440は、ログインアプリケーション430にログアウト要求を行い、その後、S1203に進む。S3001の判定がNOであれば、通常の応答に対する処理としてS1203に進む。
【0104】
次に、図20を参照して、Webブラウザ440が送信した要求を受信した際のWebアプリケーション410の処理について説明する。以下で説明する処理は、Webサーバ102のCPU311が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webアプリケーション410は、各ステップの処理に関する情報をログ記録部420に記録する。また、図20におけるフローチャートは、図10に示すフローチャートから、S1310及びS1311が削除され、S1313がS3201に変更されている。
【0105】
S3201において、Webアプリケーション410は、ログアウト完了画面の画面情報を生成するとともに、その情報の中にMFPへの上述したログアウト処理実行依頼の記述を追加する。こうして生成した情報は、S1316でWebブラウザ440に対して応答として送信される。
【0106】
以上説明したように、本実施形態では、Webアプリケーション410を先にログアウトする。このため、第4の実施形態の効果に加え、Webアプリケーション410においてログアウト異常によりセッション情報が余計に保持され続けることを回避できる。
【0107】
なお、本発明は、上記実施形態に限らず様々な変形が可能となる。例えば、本実施形態は、第2及び第3の実施形態と組み合わせて実現されてもよい。ここで、本実施形態を第2の実施形態に適用した場合について説明する。図21を参照して、S1201でWebブラウザ440が送信した要求を受信した際のWebアプリケーション410の処理について説明する。以下で説明する処理は、Webサーバ102のCPU311が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webアプリケーション410は、各ステップの処理に関する情報をログ記録部420に記録する。また、図21におけるS1301乃至S1316、及びS3201の各処理は、図20に示す処理と同様であるため、説明を省略する。
【0108】
S1305の後にS3301において、Webアプリケーション410は、受信した要求がMFPログアウト確認か否かを判定する。本実施形態では、図17に示す処理と同様に、ログアウトボタン1010等がユーザによって押下された場合、MFPログアウト確認要求がWebブラウザ440から行われる。受信した要求がMFPログアウト確認であった場合はS3302に進み、そうでない場合はS1306へ進む。
【0109】
S3302において、Webアプリケーション410は、MFPログアウト確認画面2001の情報をプレゼンテーション部411によって生成する。生成された画面情報はS1316でWebブラウザ440に送信されて、表示される。そして、MFPログアウト確認画面2001において、はいボタン2002がユーザによって押下されると、Webアプリケーション及びMFPログアウト要求がWebアプリケーション410に送信される。一方、いいえボタン2003がユーザによって押下されると、Webアプリケーションログアウト要求がWebアプリケーション410に送信される。これらの要求は、Webアプリケーション410において、いずれもログアウト要求とみなされる。よって、当該要求を受信した場合、S1305での判定はYESとなり、S1312へ進む。そして、S1312において、Webアプリケーション410は、ログアウト処理(セッション情報の削除)を行い、S3303へ進む。
【0110】
S3303において、Webアプリケーション410は、ログアウト要求がWebアプリケーション及びMFPログアウト要求であるか否かを判定する。Webアプリケーション及びMFPログアウト要求である場合には、S3201に進み、ログアウト完了画面にMFPのログアウト指示を付加して送信する。そして、MFP101にてログアウト指示が解釈されてMFP101のログアウトが実施される。一方、Webアプリケーションログアウト要求である場合には、S3304に進み、Webアプリケーション410は、ログアウト完了画面の画面情報のみを生成し、S1316でWebブラウザ440に応答として送信する。このように、本実施形態と第2の実施形態組み合わせた場合、Webサーバ102の利用終了時に、MFP101からログアウトするか否かを選択することができる。これにより、Webサーバ102が不要な機能をMFP101で継続して使用したい場合に、再度ログインする手間を省くことができる。
【0111】
次に、本実施形態を第3の実施形態に適用した場合について説明する。この場合、第3の実施形態と同様に、LDAPサーバ103の認証情報記憶部480がログアウトの際の動作の設定情報をユーザ毎に保持している。そして、そのログアウトの際の動作の設定情報は、第3の実施形態と同様に、S503でのログイン処理時に、LDAPサーバ103からログインアプリケーション430に渡され、ログインコンテキストに含められる。さらに、ログアウトの際の動作の設定情報は、S802においてWebブラウザ440のログイン管理部444によってユーザIDとともに抽出されて保持され、S803でWebアプリケーション410への要求に追加されて送信される。当該要求を受信したWebアプリケーション410は、S902において、要求に含まれる設定値をセッション情報に保持する。
【0112】
次に、図22を参照して、ユーザによってログアウト操作が行われた場合の動作について説明する。以下で説明する処理は、Webサーバ102のCPU311が制御プログラムを実行することにより実現される。なお、フローチャートには示していないが、Webアプリケーション410は、各ステップの処理に関する情報をログ記録部420に記録する。なお、図22におけるS1301乃至S1316、S3201、及び、S3301乃至S3304の各処理は、図21の処理と同様であるため説明を省略する。
【0113】
ログアウトボタン1010等がユーザによって押下された場合、MFPログアウト確認要求がWebアプリケーション410に送信される。Webアプリケーション410がこれを受信した場合、S3301からS3401に処理を遷移させる。S3401において、Webアプリケーション410は、セッション情報に含まれる、ログアウトの際の動作についての設定値を確認する。そして、その設定値が「MFPログアウト確認」である場合、ここでの判定はYESとなり、S3302の処理へ進む。一方、設定値が「Webアプリケーションログアウト」、「Webアプリケーション及びMFPログアウト」である場合、ここでの判定はNOとなり、S1312の処理に進む。このように、本実施形態を第3の実施形態に適用した場合、ユーザの設定値に応じて、Webサーバ102の利用終了時にMFP101からログアウトするか否かの選択を省略することができる。これにより、確認が不要なユーザには余計な手間を省略することができる。
【0114】
なお、MFPログアウト確認画面2001を表示するか否か、MFP101へのログアウト指示を含ませるか否かといった設定情報についての判定をMFP101で行ってもよい。その場合、例えば、MFPログアウト確認画面2001の情報に、設定値を判定してそれに応じた要求を自動的に行うようなスクリプトを埋め込んでWebブラウザ440に返す。そして、それをWebブラウザ440が解釈して実行し、ログイン管理部444が保持している設定値が「MFPログアウト確認」の場合は何もせずにそのままMFPログアウト確認画面2001を表示する。一方、それ以外の設定値である場合は、それぞれの設定値に応じてWebアプリケーション及びMFPログアウト要求、又は、Webアプリケーションログアウト要求を自動的に行うことにより実現してもよい。
【0115】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
サーバ機能を有する外部装置と、ブラウザ機能を有する情報処理装置とを備え、各装置でユーザ認証を行う情報処理システムであって、
前記情報処理装置は、
前記外部装置から提供された操作画面を介して入力されたユーザ指示を示すイベントを解析し、該外部装置に対して通知するイベント通知手段と、
前記外部装置からログアウト要求を受信すると、前記情報処理装置のログアウト処理を実行する第1ログアウト手段と
を備え、
前記外部装置は、
前記情報処理装置から通知された前記イベントを解析し、該イベントがログアウト要求であるか否かを判定する判定手段と、
前記イベントが前記ログアウト要求であると、前記情報処理装置に該ログアウト要求を通知するログアウト通知手段と、
前記ログアウト要求を通知すると、前記外部装置のログアウト処理を実行する第2ログアウト手段と
を備えることを特徴とする情報処理システム。
【請求項2】
サーバ機能を有する外部装置と、ブラウザ機能を有する情報処理装置とを備え、各装置でユーザ認証を行う情報処理システムであって、
前記情報処理装置は、
前記外部装置から提供された操作画面を介して入力されたユーザ指示を示すイベントを解析し、該イベントがログアウト要求であるか否かを判定する判定手段と、
前記イベントが前記ログアウト要求であると、前記外部装置に対して該ログアウト要求を通知するログアウト通知手段と、
前記ログアウト要求を通知すると、前記情報処理装置のログアウト処理を実行する第1ログアウト手段と
を備え、
前記外部装置は、
前記情報処理装置から前記ログアウト要求を受信すると、前記外部装置のログアウト処理を実行する第2ログアウト手段
を備えることを特徴とする情報処理システム。
【請求項3】
サーバ機能を有する外部装置と、ブラウザ機能を有する情報処理装置とを備え、各装置でユーザ認証を行う情報処理システムであって、
前記情報処理装置は、
前記外部装置から提供された操作画面を介して入力されたユーザ指示を示すイベントを、該外部装置に対して通知するイベント通知手段と、
前記外部装置からの前記イベントの通知に対する応答に含まれる記述を解釈することにより、該応答にログアウト要求が含まれるか否かを判定する第1判定手段と、
前記応答に前記ログアウト要求が含まれていると、前記情報処理装置のログアウト処理を実行する第1ログアウト手段と
を備え、
前記外部装置は、
前記情報処理装置から通知された前記イベントを解析し、該イベントがログアウト要求であるか否かを判定する第2判定手段と、
前記イベントが前記ログアウト要求であると、前記外部装置のログアウト処理を実行する第2ログアウト手段と、
前記外部装置のログアウト処理を完了すると、前記イベントに対する応答に該ログアウト要求の記述を付加して通知する応答手段とを備えることを特徴とする情報処理システム。
【請求項4】
前記外部装置は、
前記情報処理装置のログアウトを行うか否かを確認するための確認画面の画面情報を前記情報処理装置に送信する画面情報送信手段と、
前記確認画面を介して入力されたユーザ指示が前記情報処理装置のログアウトを要求する場合は、前記情報処理装置のログアウト処理を実行させ、該ユーザ指示が前記情報処理装置のログアウトを要求していない場合は、前記情報処理装置のログアウト処理を実行させないログアウト制御手段と
をさらに備えることを特徴とする請求項1乃至3の何れか1項に記載の情報処理システム。
【請求項5】
ユーザごとに固有に割り当てられた識別子と、該識別子ごとに対応付けて、ユーザがログアウトを要求した場合に前記外部装置及び前記情報処理装置のログアウト処理を実行するか、前記外部装置のみのログアウト処理を実行するか、又は、前記確認画面を用いて前記情報処理装置におけるログアウト処理の実行を確認するかの何れかを示す属性情報とを管理する管理サーバをさらに備え、
前記情報処理装置は、
操作画面を介してユーザから入力された認証情報に基づいて、該ユーザの認証を行う認証手段と、
前記認証情報に含まれるユーザの識別子を用いて、前記管理サーバから前記属性情報を取得し、前記外部装置に送信する属性情報送信手段と
をさらに備え、
前記ログアウト制御手段は、
前記ログアウト要求を受信した場合に、前記属性情報に従って前記外部装置及び前記情報処理装置のログアウト処理を制御することを特徴とする請求項4に記載の情報処理システム。
【請求項6】
サーバ機能を有する外部装置と、ブラウザ機能を有する情報処理装置とを備え、各装置でユーザ認証を行う情報処理システムの制御方法であって、
前記情報処理装置が、
前記外部装置から提供された操作画面を介して入力されたユーザ指示を示すイベントを解析し、該外部装置に対して通知するイベント通知ステップと、
前記外部装置からログアウト要求を受信すると、前記情報処理装置のログアウト処理を実行する第1ログアウトステップと
を実行し、
前記外部装置が、
前記情報処理装置から通知された前記イベントを解析し、該イベントがログアウト要求であるか否かを判定する判定ステップと、
前記イベントが前記ログアウト要求であると、前記情報処理装置に該ログアウト要求を通知するログアウト通知ステップと、
前記ログアウト要求を通知すると、前記外部装置のログアウト処理を実行する第2ログアウトステップと
を実行することを特徴とする情報処理システムの制御方法。
【請求項7】
サーバ機能を有する外部装置と、ブラウザ機能を有する情報処理装置とを備え、各装置でユーザ認証を行う情報処理システムの制御方法であって、
前記情報処理装置が、
前記外部装置から提供された操作画面を介して入力されたユーザ指示を示すイベントを解析し、該イベントがログアウト要求であるか否かを判定する判定ステップと、
前記イベントが前記ログアウト要求であると、前記外部装置に対して該ログアウト要求を通知するログアウト通知ステップと、
前記ログアウト要求を通知すると、前記情報処理装置のログアウト処理を実行する第1ログアウトステップと
を実行し、
前記外部装置が、
前記情報処理装置から前記ログアウト要求を受信すると、前記外部装置のログアウト処理を実行する第2ログアウトステップ
を実行することを特徴とする情報処理システムの制御方法。
【請求項8】
サーバ機能を有する外部装置と、ブラウザ機能を有する情報処理装置とを備え、各装置でユーザ認証を行う情報処理システムの制御方法であって、
前記情報処理装置が、
前記外部装置から提供された操作画面を介して入力されたユーザ指示を示すイベントを、該外部装置に対して通知するイベント通知ステップと、
前記外部装置からの前記イベントの通知に対する応答に含まれる記述を解釈することにより、該応答にログアウト要求が含まれるか否かを判定する第1判定ステップと、
前記応答に前記ログアウト要求が含まれていると、前記情報処理装置のログアウト処理を実行する第1ログアウトステップと
を実行し、
前記外部装置が、
前記情報処理装置から通知された前記イベントを解析し、該イベントがログアウト要求であるか否かを判定する第2判定ステップと、
前記イベントが前記ログアウト要求であると、前記外部装置のログアウト処理を実行する第2ログアウトステップと、
前記外部装置のログアウト処理を完了すると、前記イベントに対する応答に該ログアウト要求の記述を付加して通知する応答ステップとを実行することを特徴とする情報処理システムの制御方法。
【請求項9】
請求項6乃至9の何れか1項に記載の情報処理システムの制御方法をコンピュータに実行させるためのプログラム。
【請求項1】
サーバ機能を有する外部装置と、ブラウザ機能を有する情報処理装置とを備え、各装置でユーザ認証を行う情報処理システムであって、
前記情報処理装置は、
前記外部装置から提供された操作画面を介して入力されたユーザ指示を示すイベントを解析し、該外部装置に対して通知するイベント通知手段と、
前記外部装置からログアウト要求を受信すると、前記情報処理装置のログアウト処理を実行する第1ログアウト手段と
を備え、
前記外部装置は、
前記情報処理装置から通知された前記イベントを解析し、該イベントがログアウト要求であるか否かを判定する判定手段と、
前記イベントが前記ログアウト要求であると、前記情報処理装置に該ログアウト要求を通知するログアウト通知手段と、
前記ログアウト要求を通知すると、前記外部装置のログアウト処理を実行する第2ログアウト手段と
を備えることを特徴とする情報処理システム。
【請求項2】
サーバ機能を有する外部装置と、ブラウザ機能を有する情報処理装置とを備え、各装置でユーザ認証を行う情報処理システムであって、
前記情報処理装置は、
前記外部装置から提供された操作画面を介して入力されたユーザ指示を示すイベントを解析し、該イベントがログアウト要求であるか否かを判定する判定手段と、
前記イベントが前記ログアウト要求であると、前記外部装置に対して該ログアウト要求を通知するログアウト通知手段と、
前記ログアウト要求を通知すると、前記情報処理装置のログアウト処理を実行する第1ログアウト手段と
を備え、
前記外部装置は、
前記情報処理装置から前記ログアウト要求を受信すると、前記外部装置のログアウト処理を実行する第2ログアウト手段
を備えることを特徴とする情報処理システム。
【請求項3】
サーバ機能を有する外部装置と、ブラウザ機能を有する情報処理装置とを備え、各装置でユーザ認証を行う情報処理システムであって、
前記情報処理装置は、
前記外部装置から提供された操作画面を介して入力されたユーザ指示を示すイベントを、該外部装置に対して通知するイベント通知手段と、
前記外部装置からの前記イベントの通知に対する応答に含まれる記述を解釈することにより、該応答にログアウト要求が含まれるか否かを判定する第1判定手段と、
前記応答に前記ログアウト要求が含まれていると、前記情報処理装置のログアウト処理を実行する第1ログアウト手段と
を備え、
前記外部装置は、
前記情報処理装置から通知された前記イベントを解析し、該イベントがログアウト要求であるか否かを判定する第2判定手段と、
前記イベントが前記ログアウト要求であると、前記外部装置のログアウト処理を実行する第2ログアウト手段と、
前記外部装置のログアウト処理を完了すると、前記イベントに対する応答に該ログアウト要求の記述を付加して通知する応答手段とを備えることを特徴とする情報処理システム。
【請求項4】
前記外部装置は、
前記情報処理装置のログアウトを行うか否かを確認するための確認画面の画面情報を前記情報処理装置に送信する画面情報送信手段と、
前記確認画面を介して入力されたユーザ指示が前記情報処理装置のログアウトを要求する場合は、前記情報処理装置のログアウト処理を実行させ、該ユーザ指示が前記情報処理装置のログアウトを要求していない場合は、前記情報処理装置のログアウト処理を実行させないログアウト制御手段と
をさらに備えることを特徴とする請求項1乃至3の何れか1項に記載の情報処理システム。
【請求項5】
ユーザごとに固有に割り当てられた識別子と、該識別子ごとに対応付けて、ユーザがログアウトを要求した場合に前記外部装置及び前記情報処理装置のログアウト処理を実行するか、前記外部装置のみのログアウト処理を実行するか、又は、前記確認画面を用いて前記情報処理装置におけるログアウト処理の実行を確認するかの何れかを示す属性情報とを管理する管理サーバをさらに備え、
前記情報処理装置は、
操作画面を介してユーザから入力された認証情報に基づいて、該ユーザの認証を行う認証手段と、
前記認証情報に含まれるユーザの識別子を用いて、前記管理サーバから前記属性情報を取得し、前記外部装置に送信する属性情報送信手段と
をさらに備え、
前記ログアウト制御手段は、
前記ログアウト要求を受信した場合に、前記属性情報に従って前記外部装置及び前記情報処理装置のログアウト処理を制御することを特徴とする請求項4に記載の情報処理システム。
【請求項6】
サーバ機能を有する外部装置と、ブラウザ機能を有する情報処理装置とを備え、各装置でユーザ認証を行う情報処理システムの制御方法であって、
前記情報処理装置が、
前記外部装置から提供された操作画面を介して入力されたユーザ指示を示すイベントを解析し、該外部装置に対して通知するイベント通知ステップと、
前記外部装置からログアウト要求を受信すると、前記情報処理装置のログアウト処理を実行する第1ログアウトステップと
を実行し、
前記外部装置が、
前記情報処理装置から通知された前記イベントを解析し、該イベントがログアウト要求であるか否かを判定する判定ステップと、
前記イベントが前記ログアウト要求であると、前記情報処理装置に該ログアウト要求を通知するログアウト通知ステップと、
前記ログアウト要求を通知すると、前記外部装置のログアウト処理を実行する第2ログアウトステップと
を実行することを特徴とする情報処理システムの制御方法。
【請求項7】
サーバ機能を有する外部装置と、ブラウザ機能を有する情報処理装置とを備え、各装置でユーザ認証を行う情報処理システムの制御方法であって、
前記情報処理装置が、
前記外部装置から提供された操作画面を介して入力されたユーザ指示を示すイベントを解析し、該イベントがログアウト要求であるか否かを判定する判定ステップと、
前記イベントが前記ログアウト要求であると、前記外部装置に対して該ログアウト要求を通知するログアウト通知ステップと、
前記ログアウト要求を通知すると、前記情報処理装置のログアウト処理を実行する第1ログアウトステップと
を実行し、
前記外部装置が、
前記情報処理装置から前記ログアウト要求を受信すると、前記外部装置のログアウト処理を実行する第2ログアウトステップ
を実行することを特徴とする情報処理システムの制御方法。
【請求項8】
サーバ機能を有する外部装置と、ブラウザ機能を有する情報処理装置とを備え、各装置でユーザ認証を行う情報処理システムの制御方法であって、
前記情報処理装置が、
前記外部装置から提供された操作画面を介して入力されたユーザ指示を示すイベントを、該外部装置に対して通知するイベント通知ステップと、
前記外部装置からの前記イベントの通知に対する応答に含まれる記述を解釈することにより、該応答にログアウト要求が含まれるか否かを判定する第1判定ステップと、
前記応答に前記ログアウト要求が含まれていると、前記情報処理装置のログアウト処理を実行する第1ログアウトステップと
を実行し、
前記外部装置が、
前記情報処理装置から通知された前記イベントを解析し、該イベントがログアウト要求であるか否かを判定する第2判定ステップと、
前記イベントが前記ログアウト要求であると、前記外部装置のログアウト処理を実行する第2ログアウトステップと、
前記外部装置のログアウト処理を完了すると、前記イベントに対する応答に該ログアウト要求の記述を付加して通知する応答ステップとを実行することを特徴とする情報処理システムの制御方法。
【請求項9】
請求項6乃至9の何れか1項に記載の情報処理システムの制御方法をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【公開番号】特開2011−35850(P2011−35850A)
【公開日】平成23年2月17日(2011.2.17)
【国際特許分類】
【出願番号】特願2009−182894(P2009−182894)
【出願日】平成21年8月5日(2009.8.5)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成23年2月17日(2011.2.17)
【国際特許分類】
【出願日】平成21年8月5日(2009.8.5)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]