説明

画像形成装置、制御方法、及びプログラム

【課題】 WebサーバとWebブラウザが同じMFP上にある場合に、MFPへのログインと、Webブラウザを利用してWebサーバにログインする2回のログイン操作が必要となり煩わしい。
【解決手段】 要求元が前記画像形成装置のブラウザであると特定された場合は、前記認証手段による認証が行われないように制御し(S702)、認証が行われないように制御された状態で、前記Webサーバが前記画像形成装置のブラウザに操作画面を送信するように制御する(S707)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、外部サーバが提供するサービスを利用可能な画像形成装置、制御方法、及びプログラムに関する。
【背景技術】
【0002】
従来、外部サーバと画像形成装置(例えば、MFP(Multi Function Peripheral))とがインターネットを介して通信して、画像形成装置が外部サーバから提供されるサービスを利用することが知られている。
【0003】
特許文献1は、Webサーバ機能を備えた装置が、外部サーバの機能を利用して得た情報と装置内の情報を合成した画面を生成し、自装置が備えるWebブラウザに画面を表示させる方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−158695号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、画像形成装置にWebブラウザと、Webサーバの両方を搭載した際にユーザにとって不都合が生じる。具体的には、Webブラウザを用いて、Webサーバに接続する際のユーザの認証時に不都合が生じる。
【0006】
WebブラウザがWebサーバに接続する際に、Webブラウザを操作しているユーザの認証が行われることがある。この認証により、許可されていないユーザによるWebサーバへのアクセスを排除することができる。認証が成功した場合、WebサーバはWebブラウザに対して特定の情報(例えば、画面情報)を送信する。
【0007】
このような画像形成装置においては、たとえ、同じ画像形成装置内に搭載されているWebブラウザからの接続であっても認証が行われてしまう。しかし、この認証はユーザにとっては不都合である。なぜなら、同じ画像形成装置内からの接続であれば、その接続は不正である可能性が低いにも関わらず、ユーザは認証を受けなくてはいけないからである。ユーザにとっては認証情報の入力の手間が増え、煩雑な操作が必要である。
【0008】
また、特に、画像形成装置が次のような機能を持っている場合は、同じ画像形成装置内のWebブラウザからの接続が不正なユーザによるものである可能性はより低くなる。その機能とは、スキャナーや、プリンターを利用するために、ユーザが画像形成装置にログインする際の認証機能である。
【0009】
このような認証機能を画像形成装置が備えている場合、画像形成装置の機能を利用するための認証と、Webサーバに接続する際の認証の両方の認証を行わなければならない。2つの認証は、同じ画像形成装置内で行なわれる認証であるため、画像形成装置を利用するために認証を行ったユーザと、Webブラウザを用いてWebサーバから操作画面を受信するユーザは同じ可能性が高い。それにも関わらず、ユーザは2回の認証情報の入力を行わなければならない。ましてや、2回の認証で用いる認証情報が夫々異なれば、ユーザは2つの認証情報を管理することになり、より不都合である。
【0010】
そこで、本発明は、ローカルWebサーバから操作画面を受信し、Webブラウザに受信した操作画面を表示させる装置において、認証処理に関するユーザの手間を軽減させることを目的とする。
【課題を解決するための手段】
【0011】
上記の目的を達成するために本発明の画像形成装置は、操作画面を生成するWebサーバを有し、前記Webサーバから前記操作画面を受信し、該操作画面を表示するためのブラウザとを有する画像形成装置であって、前記Webサーバに対し接続要求があった場合に、該接続要求の要求元を特定する特定手段と、前記ブラウザを介して、前記Webサーバを利用するユーザの認証を行う認証手段と、前記特定手段により要求元が前記画像形成装置のブラウザであると特定された場合は、前記認証手段による認証が行われないように制御し、認証が行われないように制御された状態で、前記Webサーバが前記画像形成装置のブラウザに操作画面を送信するように制御する制御手段とを有することを特徴とする。
【発明の効果】
【0012】
本発明によれば、同じ画像形成装置内のWebブラウザから、Webサーバに接続があった場合は、認証処理に関するユーザの手間を軽減させることができる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施例1における画像処理システムの全体図。
【図2】本発明の実施例1におけるMFP110のハードウェア構成を示すブロック図。
【図3】本発明の実施例1におけるPC120のハードウェア構成を示すブロック図。
【図4】本発明の実施例1における画像処理システムのソフトウェア構成を示すブロック図。
【図5】本発明の実施例1におけるWebブラウザ403に表示される操作画面の遷移を示す図。
【図6】本発明の実施例1に外部サービスA操作画面530を表示するまでのシーケンス図。
【図7】本発明の実施例1におけるWebアプリケーション404が実行する画面取得要求の処理を示すフローチャート。
【図8】本発明の実施例1におけるWebブラウザ411に表示される操作画面の遷移を示す図。
【図9】本発明の実施例1におけるWebブラウザ411から設定する、外部サービスの接続設定処理を示すシーケンス図。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の好適な実施の形態について詳細に説明する。尚、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【実施例1】
【0015】
図1は、実施例1における画像処理システムの全体図である。MFP110,およびPC120は、夫々LAN150を介してインターネット160に接続されており、相互に通信可能である。PC120は、実施例1ではMFP110の管理者が利用し、MFP110内のソフトウェアを遠隔管理するために用いられる。なお、MFP110は、画像形成装置の一例である。
【0016】
また、後述するファイル管理サービスを提供する外部サーバA130は、LAN170を介してインターネット160に接続されている。同様に、別のファイル管理サービスを提供する外部サーバB140は、LAN180を介してインターネット160に接続されている。また、外部サーバA130、および外部サーバB140は、LAN180を介してインターネット160に接続されている。これにより、MFP110は、外部サーバA130や外部サーバB140と通信を行い、それぞれが提供するファイル管理サービスを利用することができる。
【0017】
なお、ここでは、外部サーバA130が1台でファイル管理サービスを提供する例を示した。しかしながら、外部サーバA130の他の形態として、複数のサーバによって構成され、そのサーバ群の中で複数のヴァーチャルマシンを起動して分散処理を行うようにしても構わない。この場合、所定の条件に応じてヴァーチャルマシンを増加させるスケールアウトと呼ばれる技術(クラウドコンピューティング)が用いられる。また、外部サーバB140についても同様である。
【0018】
図2は、MFP110のハードウェア構成を示すブロック図である。MFP110は、図2に示すように次の構成要素から構成される。画像入力MFPであるスキャナー部112、画像出力デバイスであるプリンター部113、MFP110の制御を司る制御部200、および操作部111である。
【0019】
CPU201を含む制御部200は、MFP110全体の動作を制御する。CPU201は、ROM202やHDD204に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御を行う。RAM203は、CPU201の主メモリ、ワークエリア等の一時記憶領域として用いられる。
【0020】
HDD204は、画像データやオペレーティングシステム、および各種アプリケーションプログラムを記憶する。後述のソフトウェアはHDD204内に記憶されており、CPU201がそのソフトウェアをRAM203にロードして実行する。
【0021】
操作部I/F205は、操作部111と制御部200とを接続する。操作部111には、タッチパネル機能を有する液晶表示部やキーボードなどが備えられている。プリンターI/F207は、プリンター113と制御部200とを接続する。プリンター113で印刷する画像データは、プリンターI/F207を介して制御部200から転送され、プリンター113において記録媒体上に印刷される。
【0022】
スキャナーI/F206は、スキャナー112と制御部200とを接続する。スキャナー112は、原稿上の画像を読み取って画像データを生成し、スキャナーI/F206を介して制御部200に入力する。ネットワークI/F208は、制御部200(MFP110)をLAN150に接続する。ネットワークI/F208は、LAN150を介して外部サーバA130に画像データや各種情報を送信したり、LAN150を介して外部サーバA130から画像データや各種情報を受信したりするための通信制御を行う。外部サーバB140との通信制御も同様である。
【0023】
図3は、PC120のハードウェア構成を示すブロック図である。CPU301を含む制御部300は、PC120全体の動作を制御する。CPU301は、ROM302やHDD304に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM303は、CPU301の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD304は、オペレーティングシステムや各種プログラムを記憶する。
【0024】
入出力装置I/F305は、キーボード306、マウス307、及びディスプレイ308を制御部300に接続する。ネットワークI/F309は、制御部300(PC120)をLAN150に接続する。ネットワークI/F309は、LAN150を経由してMFP110や外部サーバA130および外部サーバB140とのデータ通信を制御する。なお、外部サーバA130の構成と外部サーバB140の構成は、PC120と同様であるため省略する。
【0025】
次に、実施例1の画像処理システムについて図4を用いて説明する。図4は、図1に示した画像処理システム全体の構成を示すブロック図である。図4に示す各部は、MFP110、PC120、外部サーバA130、および外部サーバA140が有しているCPUが、各種アプリケーションプログラムを実行することにより実現される。
【0026】
MFP110は、認証アプリケーション401、メニューアプリケーション402、Webブラウザ403、およびWebアプリケーション404を有する。さらに、ログインユーザコンテキスト保持部405、ユーザ情報保持部406、機器制御サービス407、プリンター部408、スキャナー部409、および送信部410を有する。
【0027】
認証アプリケーション401は、MFP110の操作を行うユーザを認証する機能を有し、操作部111に認証用のUIを表示し、ユーザからのログイン指示を受け付ける。
【0028】
メニューアプリケーション402は、操作部111にMFP110が有している機能の一覧を表示し、ユーザに対し利用したい機能の選択を行わせる機能を提供する。また、メニューアプリケーション402は、ユーザが選択した機能を呼び出す。
【0029】
Webブラウザ403は、HTTPプロトコルに従ってWebアプリケーション404と通信する。より具体的には、Webブラウザ403により表示される操作画面のHTMLデータを、HTTPのGETコマンドを用いて、Webアプリケーション404に対し要求する。その要求に対する応答として、Webブラウザ403は、Webアプリケーション404から送信されるレスポンスメッセージを受信する。Webブラウザ403は、Webアプリケーション404から受信したレスポンスメッセージを解析する。レスポンスメッセージの中にはHTMLデータまたは画像データが含まれる。Webブラウザ403は、レスポンスメッセージを解析して、操作部111に操作画面を表示する。また、操作部111に表示した操作画面を介してユーザが入力した操作に応じて、HTTPのPOSTコマンドにより、ユーザによる操作の内容を示す操作情報をWebアプリケーション404に通知する。
【0030】
Webアプリケーション404は、リクエスト処理部414、外部サービスAリクエスト部415、外部サービスBリクエスト部416、デバイス制御リクエスト部417そしてレスポンス生成部418からなる。詳細については後述するが、Webアプリケーション404は、Webブラウザと通信を行うときはWebサーバとして機能し、外部サーバA130、外部サーバB140と通信を行うときはクライアントとして機能する。なぜなら、Webアプリケーション404は、Webブラウザ403からの要求(リクエスト)に対して返答する機能と、外部サーバA130、外部サーバB140に対し要求を送信する機能の両方の役割を果たすからである。
【0031】
リクエスト処理部414は、Webブラウザ403、およびWebブラウザ411からのリクエストを解析して、必要に応じて415〜417のリクエスト部を呼び出す。また、外部サービスAリクエスト部415、外部サービスBリクエスト部416からの結果(外部サーバA130、外部サーバB140が提供するサービスに関連する情報)をレスポンス生成部418に渡す。また、リクエスト元(接続要求を行った要求元)のWebブラウザの特定、およびWebブラウザ403、411からのリクエスト内容(要求内容)を判断して、レスポンス生成部418に対して画面の生成指示を行う。この処理については後述する。
【0032】
外部サービスAリクエスト部415は、外部サービスA412を利用するために、リクエストメッセージを送信するとともに、外部サービスA412から送信されるレスポンスメッセージを受信する。このレスポンスメッセージには、外部サービスA412が提供するサービスに関連する情報が含まれている。この際、外部サービスA412が公開している通信プロトコルに従って外部サービスAリクエスト部415は通信を行う。
【0033】
外部サービスBリクエスト部416は、外部サービスA412と同様に、外部サービスBに対して、リクエストメッセージの送信とレスポンスメッセージの受信を行う。
【0034】
デバイス制御リクエスト部417は、リクエスト処理部414からのジョブ制御の指示に従って、機器制御サービス407を制御するためのリクエストを送信する。また、機器制御サービスからのレスポンスを受信し、機器の状態やジョブの状態を取得する。
【0035】
レスポンス生成部418は、各リクエスト部415、416からのレスポンスを基に操作画面情報をHTMLデータとして生成し、要求元のWebブラウザに対してHTMLデータをレスポンスメッセージとして送信する。実施例1における、各リクエスト部415、416からのレスポンスとは、XML文書である。
【0036】
ログインユーザコンテキスト保持部405は、MFP110にログインしているユーザのコンテキスト情報を保持する。実施例1のログインコンテキストは、ユーザの識別子や権限情報などが含まれている。また、実施例1では、ログインのコンテキストは2種類存在する。1つ目のログインコンテキストは、ローカルログインコンテキストである。このログインコンテキストは、MFP110の操作部111に表示されるWebブラウザ403を介してMFP110にログインしているユーザのログインコンテキストである。2つ目のログインコンテキストは、リモートログインコンテキストである。このログインコンテキストは、Webアプリケーション404とWebブラウザ411のセッション情報に関連したリモートログインコンテキストである。なお、リモートログインコンテキストは、セッション毎に作成するものとする。セッションは、Webブラウザから送信されるクッキー情報に含まれる識別子で判別する。これらログインコンテキストの生成については後述する。
【0037】
ユーザ情報保持部406は、ログインユーザ毎の情報を管理するソフトウェアモジュールである。ユーザ情報保持部406は、外部サービスA412、および外部サービスB413へアクセスするためのIDやパスワードを、ユーザ毎に記録している。なお、実施例1では、1ユーザに対する外部サービスA412にアクセスするためのIDやパスワードと、外部サービスB413にアクセスするためのIDやパスワードは異なるものとする。無論、これらのIDやパスワードは、同じであっても良い。
【0038】
機器制御サービス407は、プリントやスキャンと言ったジョブの指示に関するリクエストを受け付け、図4の408〜410の各デバイスの制御モジュールを呼び出し、ジョブを実行するソフトウェアである。また、各制御モジュールの状態を判別し、デバイス制御リクエスト部417に通知を行う。
【0039】
プリンター部408は、印刷指示を受け付け、HDD204内の画像データを、プリンターI/F207を介して、プリンター113で印刷を行うためのソフトウェアモジュールである。スキャナー部409は、スキャン指示を受け付け、スキャナーI/F206を介して、スキャナー112でスキャンを行うためのソフトウェアモジュールである。スキャンされ、生成された画像データは、HDD204に格納される。送信部410は、ユーザからの送信指示を受け付け、ネットワークI/F208を介して、HDD204内の画像データをユーザから指定された場所に送信するソフトウェアモジュールである。
【0040】
PC120は、Webブラウザ411を有する。Webブラウザ411は、HTTPプロトコルに従ってWebアプリケーション404と通信する。そして通信によって得られた操作画面を入出力装置I/F305を介して、ディスプレイ308に表示する。実施例1における、上述の得られた操作画面とは、MFP110から外部サーバA130、および外部サーバ140へ接続する際に必要となる設定情報を設定するための画面のことである。これにより、MFP110から物理的に離れた装置から、Webアプリケーション415の設定を行うことが可能である。設定情報を設定するための操作画面の表示処理については、後述する。
【0041】
外部サーバA130は、サービスを提供する装置であり、外部サービスA412を有する。外部サービスA412は、ファイル管理サービスを提供し、受信したリクエストメッセージを解析し、解析した内容に応じてファイルの処理を行う。具体的には、ファイルのアップロード、ファイルのダウンロード、或いはファイルの検索や削除を行う。なお、実施例1において、外部サービスA412はWebサービスのインタフェースを持ち、SOAPメッセージにより制御されるものとする。また、上述の外部サービスAリクエスト部415が受信するレスポンスメッセージには、ファイルの処理に関する情報(例えば、アップロードしたファイルの情報、ファイルの格納場所の情報)が含まれている。
【0042】
外部サーバB140は、サービスを提供する装置であり、外部サービスB413を有する。外部サービスB413も外部サービスA412と同様にファイル管理サービスを提供するが、Webサービスのインタフェースの取り決めが異なる。外部サービスB413は、ATOMにより制御されるものとする。
【0043】
次に、MFP110をユーザが操作して、外部サービスAが管理するファイル一覧を表示する処理について図5を用いて説明する。この説明の中で、どのようにWebアプリケーション404がユーザを識別するかについても説明する。
【0044】
図5は、MFP110に表示されるユーザが操作する操作画面を示す図である。図5に示す各操作画面は、全てMFP110の操作部111に表示されるものである。以下に各画面の説明を行う。各画面間の遷移がどのように行われるかについては、後述のシーケンスで説明する。
【0045】
ローカルログイン画面500は、MFP110を利用するユーザが認証を行う際に用いられる画面である。この画面は、認証アプリケーション401により表示される。ユーザが、ユーザ名入力テキストボックス501とパスワード入力テキストボックス502とに認証情報を入力し、ログインボタン503を押下することで、認証アプリケーション401があらかじめ記憶していたユーザ一覧と比較してユーザ認証を行う。ユーザ一覧には、MFP110を利用するユーザの認証情報が記載されている。この認証が成功したことに応じて、認証を行ったユーザは、MFP110の機能を利用することが可能となる。なお、実施例1では、この認証をユーザ認証と呼称する。
【0046】
デバイスメニュー画面510は、デバイスで実行する機能をユーザに選択させるためのメニュー画面である。この画面は、メニューアプリケーション402が表示を行う。メニューには、コピーアプリケーションを起動するコピーボタン511、スキャンアプリケーションを起動するスキャンボタン512が並ぶ。同様にファクス送信アプリケーションを起動するファクスボタン513、HDD204の画像を管理するアプリケーションを起動するボックスボタン514が並ぶ。実施例1では、さらに、Webブラウザ403を起動して、外部サービスA412を利用するための外部サービスAボタン515と、外部サービスB413を利用するための外部サービスBボタン516が並んでいる。また、ログアウトボタン517は、ユーザがMFP110の利用を終了する際に押下するボタンで、ローカルログイン画面500に戻るためのものである。520〜540の画面のログアウトボタンも同じGUIボタンである。
【0047】
サービスログイン画面520は、外部サービスA412に対して認証を行うための画面である。この画面は、Webブラウザ403がWebアプリケーション404に操作画面の取得要求を行って表示される画面である。ユーザがログインIDテキストボックス521とパスワード入力テキストボックス521を入力し、ログインボタン524を押下することにより、外部サービスA412との認証が行われる。また、チェックボックス523は、ログインIDとパスワードを、Webアプリケーション404に記憶させておくかどうかをユーザにチェックさせるためのボックスである。
【0048】
外部サービスA操作画面530は、Webブラウザ403がWebアプリケーション404に操作画面の取得要求を行って表示される画面である。Webアプリケーション404は、外部サービスA412が提供するサービスに関連する情報(実施例1では、XML文書)を取得し、取得した情報を基に画面を生成する。スキャンボタン531は、ユーザがスキャンを行う際に押下するボタンであり、ユーザに押下されると、現在選択されているフォルダにスキャンした画像が格納される。具体的には、リクエスト処理部414がスキャンボタン531の押下のイベントを受け取り、デバイス制御リクエスト部417にスキャンの指示を行う。デバイス制御リクエスト部417は、機器制御サービス407を介して、スキャナー部409と送信部410にジョブを投入し、紙のスキャンと読み取った画像の送信を行う。印刷ボタン532は、現在選択されているファイルを印刷するためのボタンであり、ユーザに押下されると、現在選択されているファイルが印刷される。具体的には、リクエスト処理部414が印刷ボタン532の押下のイベントを受け取り、外部サービスAリクエスト部415を介して、外部サービスA412から操作画面530で選択されているファイルを受け取りHDD204に格納する。そして、デバイス制御リクエスト部417が機器制御サービス407を介してプリンター部408に格納したファイルの印刷ジョブを投入する。サービス終了ボタン533は外部サービスA412との接続を切り、サービスログイン画面520に戻るためのボタンである。
【0049】
サービス設定画面540は、Webアプリケーション404が外部サービスA412や外部サービスB413と接続するために必要な設定を行う画面である。外部サービスA412に接続するための設定として、外部サービスA412のURLを入力するテキストボックス541と、SSLを利用するかどうかのトグルボタン542の2つを設定させる。外部サービスB413についても同様にテキストボックス543とトグルボタン544を設定させる。設定反映ボタン545は、入力された設定をWebアプリケーション404が保存する指示を受け付けるためのボタンである。
【0050】
次に、MFP110から、外部サービスA412を利用する際の処理について図6を用いて説明する。図6は、外部サービスA操作画面530を表示するまでのシーケンス図である。
【0051】
ステップS601では、認証アプリケーション401がローカルログイン画面500を表示してユーザからのログイン指示を受け付ける。認証アプリケーション401は、ユーザ名とパスワードを受け付けると認証を行う。
【0052】
ステップS602は、ステップS601で認証が成功した場合に実行される。ステップS602では、認証アプリケーション401がログインコンテキストを生成し、ログインユーザコンテキスト保持部405にローカルログインユーザの情報として保存する。なお、このステップS602で生成されるログインコンテキストは、ローカルログインコンテキストである。
【0053】
ステップS603では、認証アプリケーション401がメニューアプリケーション402を呼び出す。メニューアプリケーション402は呼び出されると、操作部111にデバイスメニュー画面510を表示する。
【0054】
ステップS604では、メニューアプリケーション402がユーザからの機能の選択を受け付ける。実施例1では、ユーザが外部サービスAボタン515の押下を受け付けたものとして話を進める。
【0055】
ステップS605では、メニューアプリケーション402がWebブラウザ403を呼び出す。この際、メニューのボタン(外部サービスAボタン515)にあらかじめ設定されているURLをWebブラウザ403に渡す。実施例1では、Webアプリケーション404が、外部サービスA412を利用するためのURLが指定されている。
【0056】
ステップS606では、Webブラウザ403がステップS605で渡されたURLを元に、サービスに関連する情報の取得要求を行う。実施例1では、URLのサーバ部分がWebアプリケーション404を示しているため、Webブラウザ403はWebアプリケーション404に操作画面の取得要求を行う。Webアプリケーション404は、Webブラウザ403からの操作画面の取得要求を受けて、応答すべき操作画面を生成する。
【0057】
この際、Webアプリケーション404が行う処理について図7を用いて説明する。図7にWebブラウザ403、またはWebブラウザ411からの操作画面の取得要求に対して、Webアプリケーション404が行う処理のフローチャートを示す。
【0058】
ステップS701では、Webアプリケーション404は、Webアプリケーション404接続した要求元を特定する。具体的には、Webアプリケーション404は、要求元のWebブラウザが同じMFP110内のクライアントであるか否かを判断する。これについてより詳細に説明する。Webアプリケーション404は、Webアプリケーション404が開いているネットワークポートに対して接続してきたクライアントのIPアドレスを取得する。そして、そのIPアドレスが、ローカルループバック用のアドレスであった場合、Webアプリケーション404は、同じMFP110内のWebブラウザからのアクセスであると判断する。例えば、WebブラウザのアドレスがIPv4アドレスであれば、「127.0.0.1」をローカルループバックと判断する。また、IPv6アドレスであれば、「::1」をローカルループバックと判断する。そしてWebブラウザがローカルループバックを利用してアクセスしてきた場合、つまりWebアプリケーション404が、Webブラウザ403からのアクセスであると判断した場合、ステップS702に遷移し、そうでない場合は、ステップS714に遷移する。
【0059】
実施例1では、IPアドレスを基にローカルループバックアドレスを判断し、同じ機器内のWebブラウザであると判断しているが、その他の方法であってもよい。たとえばWebサーバ403とWebアプリケーション404とに証明書を配置して、Webブラウザを認証するような構成でもよい。このように、ローカルであるか否かを判断するために用いられる情報(IPアドレスや、証明書等)を、実施例1では識別情報と呼ぶ。
【0060】
ステップS702では、Webブラウザ403からアクセスされた場合であり、現在MFP110にログインしているユーザのローカルログインコンテキストをログインユーザコンテキスト保持部405から取得する。なお、このように処理することで、Webアプリケーション404は、Webブラウザ403がWebアプリケーション404から操作画面を受信する際に必要となるユーザ認証が行われないように制御している。なぜ、ユーザ認証が行われないように制御するのかと言うと、Webアプリケーション404へ接続してきた要求元が同じMFP110内に存在すため、不正なアクセスである可能性が低いからである。また、MFP110を利用しているユーザは、このアクセスのセッションのユーザとみなされる。なぜなら、ローカルのWebブラウザ403を利用しているのは、MFP110にログインしているユーザであると判断できるためである。
【0061】
ステップS703では、Webアプリケーション404に外部サービスA412への接続設定がなされているかどうかの判断を行う。接続設定がなされていない場合はステップS711に遷移する。接続設定がなされている場合は、ステップS704に遷移する。
【0062】
ステップS704では、Webブラウザ403からのリクエスト情報に、セッション情報があるかどうかを判断する。具体的には、セッションを示すクッキー情報がリクエストに含まれているかどうか、またそのクッキー情報で識別するセッションがタイムアウトしておらず有効かどうかを判断する。セッション情報が有効である場合は、ステップS708に遷移し、そうでない場合は、外部サービスA412に接続されていないと判断し、ステップS705に遷移する。
【0063】
ステップS705では、外部サービスA412に接続するためのIDとパスワードを取得する。リクエスト処理部414が、ステップS702で取得したユーザのコンテキストを基に、そのユーザが以前入力したことで保持された外部サービスA412に接続するためのIDとパスワードを、ユーザ情報保持部406に要求する。ユーザ情報保持部406から、外部サービスA412に接続するためのユーザのIDとパスワード等の情報特定を行う。もしも、ユーザ情報保持部406内にIDとパスワード情報がない場合(そのユーザが、外部サービスA412に初めてアクセスする場合)は、空文字列とする。
【0064】
ステップS706では、レスポンス生成部418は、ステップS705で取得したIDとパスワードを元に、サービスログイン画面520用のHTMLデータを生成する。
【0065】
ステップS707では、レスポンス生成部418は、レスポンスとして生成したHTMLデータを要求元のWebブラウザに送信する。ステップS706、または後述するS170の処理が実行されている場合は、レスポンスはWebブラウザ403に送信される。なお、このレスポンスは、Webアプリケーション404を利用する際に必要となる認証が行わないように制御された状態で、Webブラウザ403に送信される。さらに、後述するステップS712、ステップS713の処理が実行されている場合は、レスポンスはWebブラウザ411に送信される。なお、このレスポンスは、Webアプリケーション404を利用する際に必要となる認証が成功したことに応じて送信される。
【0066】
ステップS708では、ステップS704でWebアプリケーション404とWebブラウザ403とのセッション情報が有効であると判断された場合であり、外部サービスA412とWebアプリケーション404間のセッションが有効かどうかを判断する。外部サービスA412とのセッションが有効であると判断した場合、ステップS709に遷移し、そうでない場合はステップS705に遷移して、サービスにログインするための画面を作成する処理を行う。
【0067】
ステップS709では、外部サービスA操作画面530を生成するための情報を得るために、外部サービスA412にフォルダ一覧の取得要求を行う。具体的には、リクエスト処理部418が外部サービスAリクエスト部415を介してサービスに関連する情報を受信する。
【0068】
ステップS710では、ステップS709で外部サービスA412から受信した情報を基に、外部サービスA操作画面530のHTMLデータを生成する。そしてステップS707に遷移して、生成した外部サービスA操作画面530の画面データをWebブラウザ403に送信する。
【0069】
ステップS711では、処理を行うユーザのログインコンテキストの権限をチェックし、管理者であるか否かを判断する。このステップS711の処理は、ステップS703で外部サービスA412への接続設定がなされていない、または後述のステップS714で、ローカル以外(MFP110以外)のWebブラウザからアクセスされてリモートログインされた場合に実行される。リクエスト処理部414は、ステップS702で取得したローカルログインコンテキスト、または後述のステップS715で取得したリモートログインコンテキスト内に保存されているユーザの権限をチェックする。そして、リクエスト処理部414は、チェックしたログインコンテキストを基に、ログインユーザが管理者かどうかを判断する。ユーザが管理者と判断された場合はステップS712に遷移し、そうでない場合はステップS713に遷移する。
【0070】
ステップS712では、サービス設定画面540のHTMLデータを生成する。そしてステップS707に遷移して、生成されたサービス設定画面540の画面データを要求元のWebブラウザ411に送信する。
【0071】
ステップS713では、管理者権限のユーザで外部サービスA、もしくは外部サービスB、またはその両方に接続するための設定を行わせる旨のエラー画面(不図示)のHTMLデータを作成する。そしてステップS707に遷移して、生成したエラー画面の画面データをWebブラウザ411に送信する。
【0072】
ステップS714では、ステップS701でローカルのWebブラウザ403以外のWebブラウザからアクセスされたと判断された場合であり、そのWebブラウザからのクッキー情報を元に、Webサーバにリモートログイン済みかどうかを判断する。実施例1では、PC120のWebブラウザ411からのアクセスで認証を行ったかどうかに該当する。具体的には、ログインユーザコンテキスト保持部405に問い合わせて、Webブラウザとのセッションに対応した認証情報があるかどうかを判断する。ログイン済みと判断した場合は、ステップS715に遷移し、そうでない場合は、ステップS716に遷移する。リモートログインの認証処理については後述する。
【0073】
ステップS715では、リモートログインを行ったユーザのリモートログインコンテキストを取得して、ステップS711に遷移し、管理者かどうかの判断を行う。
【0074】
ステップS716では、リモートからのアクセスで、認証が行われていないケースであり、Webブラウザ411に認証アプリケーション404のリモートからのアクセスポイントを示すURLへのリダイレクト情報を作成する。そしてステップS707に遷移してリダイレクト情報を要求元であるWebブラウザ411に送信する。
【0075】
以上が、Webブラウザ403、またはWebブラウザ411からの操作画面の要求に対して、Webアプリケーション404が行う処理のフローチャートである。
【0076】
図6の説明に戻り、ステップS606でWebブラウザ403からWebアプリケーション404に要求が行われると、Webアプリケーション404はステップS701でローカルからのアクセスと判断する。
【0077】
ステップS607では、Webアプリケーション404がステップS702の処理により次の処理が行われる。即ち、Webアプリケーション404を利用する際に必要となるユーザの認証処理が行われないよう制御された状態で、Webアプリケーション404が、ログインユーザコンテキスト保持部405から、ログインしているユーザの情報を取得する処理である。
【0078】
ステップS608では、Webアプリケーション404がステップS705の処理を行う。このシーケンスでは、すでに外部サービスの設定はなされている前提で、ステップS703の分岐はステップS704に遷移する。ステップS704では、Webブラウザ403からの最初のアクセスなのでセッション情報はない。そのためステップS705に遷移する。ステップS705の処理により、ステップS607で取得したユーザ名を元に、Webアプリケーション404は、そのユーザが以前記憶させた外部サービスA412に接続するためのIDとパスワードをユーザ情報保持部406から取得する。
【0079】
ステップS609では、Webアプリケーション404がステップS705からステップS707までの処理により生成したサービスログイン画面520のHTMLデータを、レスポンスとしてWebブラウザ403に送信する。なお、このときにリクエスト処理部414は、外部サービスA412と通信を行うためのセッション情報を生成し、その識別子をクッキーとしてWebブラウザ403に送る。
【0080】
ステップS610では、Webブラウザ403により表示されたサービスログイン画面520で、ユーザからの入力を受け付け、利用開始ボタン524が押されたケースである。このときWebブラウザは、IDテキストボックス521とパスワードテキストボックス522の情報をWebアプリケーション404にHTTPのPOSTメソッドを利用して送信する。
【0081】
ステップS611では、Webアプリケーション404が受け取ったIDとパスワードを元に、外部サービスA412に対して接続を行う。
【0082】
ステップS612では、ステップS611で認証が成功した場合であり、外部サービスA412からWebアプリケーション404へ認証チケットデータを送付する。認証チケットデータは、Webアプリケーション404がセッションとあわせて管理し、次回以降、外部サービスA412にアクセスする際に利用される。もしも、認証が失敗した場合は、エラーがWebアプリケーション404に通知され、Webアプリケーション404は、再びサービスログイン画面520のHTMLデータをブラウザ403に送信する。
【0083】
ステップS613では、Webアプリケーション404が、外部サービスA412に対してステップS612で取得したチケットを用いてフォルダ情報の取得を行う。
【0084】
ステップS614では、Webアプリケーション404は、ステップS613で取得したフォルダ情報(サービスに関連する情報)を元に、外部サービスA操作画面530のHTMLデータを生成し、ステップS610の応答としてWebブラウザ403へ送信する。結果として、Webブラウザ403には、外部サービスA操作画面530が表示される。なお、Webブラウザ403は、次にWebアプリケーション404にアクセスする際には、クッキー情報を共に送信する。これにより、ステップS704でセッションが有効であると判断され、ステップS708で外部サービスA412と接続済みであると判断された場合、外部サービスA操作画面530が表示されることになる。
【0085】
以上が、MFP110から、外部サービスA412を利用する際の処理の説明である。このように、Webサーバと同一のMFP上にあるWebブラウザからのアクセスに関して、Webアプリケーションを利用する際の認証を省略する他、外部サーバに対するユーザ毎の情報の管理を行うことができる。
【0086】
なお、実施例1では、外部サービスA412に対しての説明を行ったが、外部サービスB413に対しての処理も同様に行うことが可能である。
【0087】
次に、ユーザが外部サービスAを終了する場合について述べる。まず、ユーザが外部サービスA操作画面530において、サービス終了ボタン533を押下した場合について述べる。この場合、まずWebブラウザ403から、Webアプリケーション404に対して、サービス終了ボタン533が押下されたことをHTTPのPOSTコマンドで通知を行う。Webアプリケーション404は、これを契機に外部サービスA412との接続を破棄する。具体的には、外部サービスA412に切断の通知を行うと共に、外部サービスA412から受け取っている認証チケットを削除する。そして、Webブラウザ403とのセッションを破棄する。そして、Webブラウザには、サービスログイン画面520の画面データを送り、処理を終了する。
【0088】
次に、ユーザが外部サービスA操作画面530において、ログアウトボタン517を押下した場合について述べる。ログアウトボタン517が押下された場合、認証アプリケーション401がローカルログインユーザのコンテキストを破棄するとともに、各アプリケーションに通知を行う。このとき、Webブラウザ403から、Webアプリケーション404に通知は何も行われない。一方、認証アプリケーション401から通知を受けたWebアプリケーション404は、破棄したコンテキストに関連するローカルユーザの情報を基に接続している外部サービスA412に対し、接続を破棄する。このように、Webアプリケーション404は、ローカルのクライアントからの要求と関連して、接続した外部サービスとの接続を削除することが可能である。これにより、MFP110のログアウト処理に連動して、サービスを提供する外部サーバとの接続を破棄することができるので、ユーザにとって便利である。なぜなら、ユーザは、2回のログアウト処理を行う必要がないからである。
【0089】
次に、PC120からMFP110に対して、Webアプリケーション404の設定を行う処理について図8、図9を用いて説明する。図8は、PC120のWebブラウザ411により表示される操作画面、リモートログイン画面810を示す図である。
【0090】
リモートログイン画面810は、ユーザがWebブラウザ411を用いてWebアプリケーション404にアクセスしたときに表示されるリモートログインの画面である。この画面はWebアプリケーション404が認証アプリケーション401へのリダイレクトを行った結果として表示される。この処理については後述する。ユーザにユーザ名テキストボックス811とパスワード入力テキストボックス812を入力させて、ログインボタン813を押下されることにより、認証アプリケーション401があらかじめ記憶していたユーザ一覧と比較してユーザ認証を行う。
【0091】
サービス設定画面820は、Webアプリケーション404によりリモートログインを行ったユーザが管理者と判断された場合に、Webブラウザ411に表示される画面である。表示される内容は、サービス設定画面540と同じである。
【0092】
図9は、ユーザがPC120のWebブラウザ411から、Webアプリケーション404に接続した場合の処理を示すシーケンス図である。
【0093】
ステップS901では、Webブラウザ411がユーザからのWebアプリケーション404のURLの入力を受け付けて、Webアプリケーション404に対して画面の取得要求を行う処理である。このリクエストに応答して、Webアプリケーション404は次の処理を行う。まず、ステップS701において、ローカルからのアクセスではなく、リモートからのアクセスであると判断し、ステップS714に遷移する。ステップS714に処理が移ったため、ユーザがWebブラウザ411を介して、Webアプリケーション404を利用するための認証を行うように制御する。
【0094】
ステップS902では、ステップS901、ステップS716、ステップS707の処理により、Webアプリケーション404は、Webブラウザ411が認証アプリケーション401のURLへアクセスするようにリダイレクト情報を渡す。
【0095】
ステップS903では、ステップS902で渡されたリダイレクトの指示により、Webブラウザ411は、認証アプリケーション401にリモートログイン画面810の要求を行う。
【0096】
ステップS904では、認証アプリケーション401は、Webブラウザ411にリモートログイン画面810のHTMLデータを送信する。
【0097】
ステップS905では、Webブラウザ411は、ユーザからの認証情報の入力を受け付けて、その認証情報を認証アプリケーション401に対して、HTTPのPOSTコマンドを利用し送信する。
【0098】
ステップS906では、認証アプリケーション401が、ステップS905で渡された認証情報を元に認証を行う。実施例1では認証が成功したとして説明をおこなう。認証が成功したことに応じて、セッション情報の識別子のクッキー情報とログインコンテキストを共に、ログインユーザコンテキスト保持部405にリモートログインコテキストとして保存する。
【0099】
ステップS907では、認証アプリケーション401が、セッションのクッキー情報と、Webアプリケーション404へのリダイレクト情報の2つの情報をWebブラウザ411へ送信する。
【0100】
ステップS908では、Webブラウザ411は、リダイレクト情報を基にWebアプリケーション404へ接続をおこなう。なお、ステップS906の処理で認証がされているため、ステップS714の判断ですでにログイン済みと判断される。
【0101】
ステップS909では、Webアプリケーション404がステップS715の処理としてログインユーザコンテキスト保持部405から、リモートログインコンテキストの権限情報を取得する。
【0102】
ステップS910では、Webアプリケーション404がサービス設定画面540のHTMLデータをWebブラウザ411に送信する。実施例1では、管理者がログインしているので、ステップS711で管理者と判断され、サービス設定画面820のHTMLデータが送信される。
【0103】
以上が、PC120からMFP110に対して、Webアプリケーション404の設定を行う処理である。このように、MFP110のWebブラウザ403とは異なる、Webブラウザからアクセスされた場合は、リモートの認証を行い、そのユーザに応じた処理を行うことが可能となる。実施例1で言えば、リモートの認証を行ったユーザが管理者であれば、サービス設定画面820を送信し、管理者以外であれば、エラー画面が送信される。
【0104】
[変化形]
本発明の実施例1において、Webサーバは、MFP110のブラウザ以外からの接続であっても、認証が成功すれば設定画面を送信した。これにより、管理者が複数台のMFPの設定を変える際に、MFPの前に行って一台ずつ設定するという手間を省くことが可能になる。しかし、この効果を望まないのであれば、MFP110内のユニットからの接続以外の接続は全てエラーとして処理しても良い。エラーとなった場合、Webアプリケーション404は、MFP110以外からの要求に対して、MFP110からアクセスするように促すエラー画面をWebブラウザに送信しても良い。これにより、MFP110に対する不正な接続をより低減させることが可能になる。
【0105】
なお、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。
【0106】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。

【特許請求の範囲】
【請求項1】
操作画面を生成するWebサーバと、
前記Webサーバから前記操作画面を受信し、該操作画面を表示するためのブラウザとを有する画像形成装置であって、
前記Webサーバに対し接続要求があった場合に、該接続要求の要求元を特定する特定手段と、
前記Webサーバを利用するユーザの認証を行うWebサーバ認証手段と、
前記特定手段により要求元が前記画像形成装置のブラウザであると特定された場合は、前記Webサーバ認証手段による認証を行わずに、前記Webサーバが前記画像形成装置のブラウザに操作画面を送信する処理を制御する制御手段とを有する画像形成装置。
【請求項2】
前記が画像形成装置は、操作画面を表示するためのブラウザを有する情報処理装置と通信可能であって、
前記制御手段は、
前記特定手段により要求元が前記情報処理装置のブラウザであると特定された場合は、前記Webサーバ認証手段による認証が成功したことに応じて、前記Webサーバが前記情報処理装置のブラウザに操作画面を送信するように制御することを特徴とする請求項1に記載の画像形成装置。
【請求項3】
前記画像形成装置は、サービスを提供する外部装置と通信可能であって、
前記画像形成装置の機能を利用するユーザの認証を行う装置認証手段と、
前記装置認証手段による認証が成功したことに応じて、前記装置認証手段による認証を行ったユーザに関する、前記外部装置に接続するために用いる情報を特定する情報特定手段と、
前記情報特定手段により特定された情報を用いて前記外部装置に対し認証を行い、該認証が成功したことに応じて、前記サービスに関連する情報を外部装置から受信する受信手段と、
前記受信手段により受信された情報を基に前記Webサーバにより生成された操作画面を送信する送信手段とを有する請求項1または2に記載の画像形成装置。
【請求項4】
前記Webサーバは、
前記特定手段により要求元が前記情報処理装置であると特定された場合は、外部装置により提供されるサービスを前記画像形成装置において利用するため、前記外部装置へ接続する際に必要となる設定情報を設定するための操作画面を生成し、該生成した操作画面を前記情報処理装置へ送信することを特徴とする請求項2に記載の画像形成装置。
【請求項5】
操作画面を生成するWebサーバと、
前記Webサーバから前記操作画面を受信し、該操作画面を表示するためのブラウザとを有する画像形成装置を制御する制御方法であって、
特定手段は、前記Webサーバに対し接続要求があった場合に、該接続要求の要求元を特定し、
Webサーバ認証手段は、前記Webサーバを利用するユーザの認証を行い、
制御手段は、前記特定手段により要求元が前記画像形成装置のブラウザであると特定された場合は、前記Webサーバ認証手段による認証を必要とせずに、前記Webサーバが前記画像形成装置のブラウザに操作画面を送信するように制御することを特徴とする画像形成装置の制御方法。
【請求項6】
操作画面を生成するWebサーバと、
前記Webサーバから前記操作画面を受信し、該操作画面を表示するためのブラウザとを有する画像形成装置により実行されるプログラムであって、
前記Webサーバに対し接続要求があった場合に、該接続要求の要求元を特定する特定ステップと、
前記Webサーバを利用するユーザの認証を行うWebサーバ認証ステップと、
前記特定ステップにより要求元が前記画像形成装置のブラウザであると特定された場合は、前記Webサーバ認証ステップによる認証を必要とせずに、前記Webサーバが前記画像形成装置のブラウザに操作画面を送信するように制御する制御ステップとを含むプログラム。

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


【公開番号】特開2011−191888(P2011−191888A)
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願番号】特願2010−55997(P2010−55997)
【出願日】平成22年3月12日(2010.3.12)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】