以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、この実施形態では、本発明に係る情報処理装置を複合機を例に説明するが、この情報処理装置は、PC等のコンピュータ機器、携帯端末等であっても良い。
[実施形態1]
図1は、本発明の実施形態1に係る通信システムの全体構成を示すブロック図である。
この通信システムは、MFP110とWebサーバ120とを有し、これらはイーサネット(登録商標)等のLAN100を介して接続されている。MFP110は、図2を参照して後述するように、操作部、スキャナ部、プリンタ部を有する複合機である。Webサーバ120は、MFP110のWebブラウザから利用するWebアプリケーションを実行しているサーバである。但し、本実施形態に係る通信システムを構成する機器は、図1に示す機器に限定されるものではない。
図2は、実施形態1に係るMFP110のハードウェア構成を説明するブロック図である。
MFP110は、操作部221、画像入力装置であるスキャナ部222、画像出力装置であるプリンタ部223及びMFP110の制御を司るコントローラ200を具備している。操作部221は、タッチパネルディスプレイ等を有し、ユーザに対して情報の表示や、ユーザからの入力を受け付ける機能を持つ。スキャナ部222は、原稿の画像の読み取り動作を行って画像データを作成する。プリンタ部223は、コントローラ200から受け取った画像データを用紙(シート)上に画像として形成(印刷)する。コントローラ200は操作部221、スキャナ部222、プリンタ部223と電気的に接続されている一方で、LAN100にもネットワークI/F206を介して接続されている。即ち、LAN100を経由して他の機器と接続されている。これによりLAN100を介したHTTPプロトコルによる通信が可能となっている。
CPU201は、HDD204に記憶された制御プログラム等に従って、接続中の各種機器へのアクセス及び他の装置からのアクセスを統括的に制御する。それと共に、コントローラ200内部で行われる各種処理についても統括的に制御する。この制御には、後述のフローチャートを実現するためのプログラムの実行も含む。ROM202には装置のブートプログラムが格納されている。RAM203は、CPU201が動作するためのシステムワークメモリであり、かつ画像データを一時記憶するためのメモリでもある。RAM203は、電源のバックアップ等により記憶した内容を装置本体の電源オフ後も保持しておく領域と、電源オフ後には記憶した内容が消去されてしまう領域を備えている。HDD204はハードディスクドライブであり、CPU201により実行されるシステムソフトウェアや画像データを格納する。操作部I/F205は、システムバス211と操作部221とを接続するためのインターフェース部である。操作部I/F205は、操作部221に表示するための画像データをシステムバス211から受け取って操作部221に出力すると共に、操作部221から入力された情報をシステムバス211へ出力する。ネットワークI/F206は、LAN100及びシステムバス211に接続され、LAN100を介した情報の入出力を行う。スキャナI/F207は、スキャナ部222から受け取った画像データに対して、補正、加工、及び編集を行う。尚、スキャナI/F207は、受け取った画像データがカラー原稿か白黒原稿か、文字原稿か写真原稿かなどを判定する機能を持つ。
画像処理部208は、画像データの方向変換、画像圧縮、伸張処理などを行う。また、HDD204に保存されている画像データ同士を合成して一枚の画像にする画像処理も実行できる。プリンタI/F209は、画像処理部208から出力された処理済の画像データを受け取り、この画像データに付随している属性データを参照して、画像データを印刷データに変換する。こうして得られた印刷データは、プリンタ部223に出力されて記録媒体(シート)上に印刷される。尚、本実施形態1では、MFP110は、UI表示を実行するネットワークMFPであるが、汎用スキャナや汎用プリンタなどを接続した汎用コンピュータ等、これ以外の画像処理装置であってもよい。
図3は、実施形態に係るWebサーバ120のハードウェア構成を示すブロック図である。
Webサーバ120では、CPU301,RAM302,ROM303、ネットワークI/F305、ハードディスクドライブ(HDD)304がシステムバス306を介して互いに通信可能に接続されている。ROM303或いはHDD304には、オペレーティングシステムやアプリケーション等の制御プログラムが格納されている。CPU301は、この制御プログラムを必要に応じてHDD304からRAM302上に展開して実行することで、コンピュータとしての機能を発揮する。またCPU301は、ネットワークI/F305を介して接続されているLAN100上の他の装置との通信を行う。
図4は、実施形態1に係るMFP110における通信処理を実行するソフトウェアモジュールの構成を説明する機能ブロック図である。これらソフトウェアモジュールは、MFP110のHDD204に格納され、CPU201が、これらソフトウェアモジュールをHDD204からRAM203に展開して実行することにより、対応する各機能が実現される。
メニュー管理部401は、MFP110の各ソフトウェアモジュールを起動するためのメニュー画面を表示する。このメニュー画面は、コピー画面や後述のWebブラウザの画面等を表示するためのGUIボタンを一覧で表示して、ユーザに所望の機能等を選択させる機能を持つ。ログイン部402は、MFP110を利用するユーザを識別するためにログイン情報をユーザに入力させ、ユーザの認証を行ってログインユーザ情報を作成する。このログイン部402は、MFP110を利用可能なユーザ情報を保持しており、このユーザ情報を使用してユーザの認証を行う。このログイン部402を使用したユーザのログイン方法は、操作部221に表示したソフトウェアキーボードにより、ユーザIDとパスワードを入力させる方法であっても良く、或いはICカードを利用したものであってもよい。実施形態1では、ログイン部402はユーザ情報を保持しているが、入力された認証情報を外部ユーザ情報管理サーバに送信して認証させ、ログイン情報を受け取る構成としてもよい。
HTTP通信部403は、ネットワークI/F206を操作してHTTPプロトコルにより通信を行う。Webブラウザ404は、HTTP通信部403を介してネットワーク上の機器と通信を行う。Webブラウザ404は、指定されたURLに応じたWebアプリケーションに対してHTMLデータをリクエストする。またWebブラウザ404は、HTTP通信部404を介して受け取ったレスポンスに含まれるHTMLデータをレンダリングして操作部221に表示し、その操作部221に表示した操作画面に対する入力をリクエストとして送信する。スクリプト実行部405は、Webブラウザ404のJavaScript(登録商標)の実行部で、Webブラウザ404が読み込んだJavaScriptを解釈して、Webブラウザ上のコンテンツを操作したり、HTTP通信部403を利用して通信を行う。ログインユーザ管理部406は、MFP110にログインしているユーザのIDやメールアドレス等のユーザ情報を保持及び管理している。
Webブラウザ監視部407は、Webブラウザ404の動作を監視しており、Webブラウザ404が表示しているURLの判断、HTMLを読み込み中なのかどうかの判断、そしてWebブラウザ404が表示されているか等を判断する。またWebブラウザ監視部407は、Webブラウザ404からのフォーム送信を検出するとフォームデータ管理部408に通知する。フォームデータ管理部408は、送信されようとしているフォームデータを解析し、入力されたフォーム認証情報の管理を行う。フォームデータテーブル409は、フォーム認証情報を保持するデータベースである。設定管理部410は、Webブラウザ404の表示設定や動作設定等の各種設定値を管理する。実施形態1では、Webブラウザ404のツールバーやアドレスバーの表示/非表示を切り替える設定や、フォームデータ表示部411が表示する内容の設定値を管理している。フォームデータ表示部411は、フォームデータテーブル409に保存されたフォーム認証情報をユーザに提示するために、リスト形式で操作部221に確認画面(例えば図11)を表示する機能を持つ。
図5は、実施形態1に係るWebサーバ120のソフトウェアモジュールの構成を説明する機能ブロック図である。
Webサーバ120には、Webアプリケーション501及びHTTP通信部504が備えられている。これらソフトウェアは、Webサーバ120のHDD304に格納されており、RAM302に展開されてCPU301により実行される。Webアプリケーション501は、MFP110のWebブラウザ404からのリクエストに応じて、フォーム認証画面のHTMLデータ、MFP110を制御するための操作画面のHTMLデータ、及び画像処理の指示等をレスポンスとして送信する。そのための構成として、Webアプリケーション501は、プレゼンテーション部502及びロジック部503を備える。プレゼンテーション部502は、HTTP通信部504を介して、Webブラウザ404からのHTTPリクエストを受信すると、それに応答して、表示すべき画面情報をレスポンスとして送信する。また、Webブラウザ404に表示された画面を介して入力されたフォームデータを、HTTP通信部504を介して受け取る。ロジック部503は、プレゼンテーション部502から渡されたフォームデータに対して処理を行う。例えば、ユーザが認証画面のフォームに入力した情報に応じてユーザの認証を行い、表示すべき画面を指示したり、ユーザが設定したフォームデータで入力した情報に応じて、MFP110がデバイス機能を実行するためのジョブ定義情報を作成する。HTTP通信部504は、ネットワークI/F305を操作してHTTPプロトコルにより通信を行う。
図6は、実施形態1に係るMFP110の操作部221に表示されるWebブラウザ画面の一例を示す図である。
図6(A)は、後述する図7に示す設定画面で、アドレスバー/ツールバーの表示を「する」に設定している場合のサービス1のログイン画面例を示す。タイトル表示領域601には、Webブラウザ404で表示されるWebページのタイトルが表示される。この例では「Service1ログイン」がタイトルである。コンテンツ表示領域602は、Webページの内容を表示している。この例では、フォーム認証画面を表示している。ツールバー表示領域603は左から、前に表示していたページに戻るためのボタン、次ページに進むためのボタン、ページを再読み込みするためのボタン、読み込み中の場合に停止するためのボタン、ブックマークリストを表示するためのボタンを表示している。アドレスバー表示領域604は、現在表示されているWebページのアドレス(URL)を表示している。
コンテンツ表示領域602において、ユーザ名入力フィールド611、パスワード入力フィールド612は、認証対象のユーザの名称とパスワードの入力エリアである。また613は、ユーザがログインを指示するためのボタンである。
図6(B)は、後述する図7の設定画面において、アドレスバー/ツールバーの表示を「しない」に設定した場合の画面例を示す。この場合は、図6(A)に示すツールバー表示領域603及びアドレスバー表示領域604は表示されない。
図7は、実施形態1に係るMFP110のWebブラウザ404による表示設定画面の一例を示す図である。
この画面は、MFP110の設定画面(不図示)の中のウェブブラウザ表示設定が選択されることにより表示される。選択ボタン701は、アドレスバー/ツールバーの表示を「する」「しない」の2つを排他的に選択するボタンであり、どちらかが必ず選択状態(押下状態)になる。即ち、一方のボタンを押下するとそのボタンが選択状態になり、他方のボタンは非選択状態になる。OKボタン702は、設定ボタン701で選択した設定内容を確定するためのボタンである。キャンセルボタン703は、この設定画面による設定を行わずに、この設定画面から抜けるためのボタンである。選択ボタン701で設定内容を変更して、OKボタン702を押下することで、Webブラウザのアドレスバーやツールバーの表示を、前述の図6(A)(B)のように切り替えることができる。
図8は、実施形態1に係るMFP110の操作部221に、前述の図6のWebブラウザ画面を表示するときのHTMLデータの一例を示す図である。尚、図8では、スタイルシートの設定の記載等のように、実施形態の説明と直接関係ないものは省略している。
title(タイトル)タグ801は、このHTMLデータで構成される画面のタイトルを示す要素で、図6に対応して「Service1ログイン」が設定されている。inputタグ802は、Webアプリケーション501が管理するユーザ名を入力するための要素で、図6のユーザ名入力フィールド611の表示に対応している。inputタグ803は、Webアプリケーション501が管理するパスワードを入力するための要素で、図6のパスワード入力フィールド612の表示に対応している。inputタグ804は、Webアプリケーション501に、フォーム入力情報をサブミットするための要素で、図6のログインボタン613の表示に対応している。
図9は、実施形態1に係るMFP110のフォームデータテーブル409で管理されるフォーム認証情報の一例を示す図である。尚、このフォーム認証情報は、MFP110にログイン可能なユーザ毎に保存される。
url901は、フォーム認証画面のURLである。title902は、フォーム認証画面のHTMLデータで定義されるtitleタグの値である。titleタグが存在しない場合は(null)が保存される。id903は、password904の直前に存在するtype属性がtextのフォームに入力されている値で、ここではユーザの識別情報であるユーザ名に該当している。password904は、type属性がpasswordであるフォームに入力された値(例えばinputタグ803)である。HTMLデータに複数のpasswordがある場合は、最初に見つかった値が保存される。
例えば、図8のHTMLデータで、ユーザ名(inputタグ802)に「abc」、パスワード(inputタグ803)に「xyz」を入力してサブミット(ログインボタン613を押下)した場合は、行905に示すデータが保存される。
図10は、実施形態1に係るMFP110において、図6で示した画面を介してユーザ名及びパスワードが入力されてログインボタンが押下されたときに操作部221に表示されるダイアログの一例を示す図である。
図10(A)は、図9のサイトのurl901と、入力されたid903の組がフォームデータテーブル409に登録されていなかった場合に表示される画面例を示す。「はい」ボタン1001は、サブミットされたフォーム認証情報をフォームデータテーブル409に保存するように指示するボタンである。この「はい」ボタンが1001が選択されると、図6の画面を介して入力されたユーザ名とパスワードの組が、図9の行905に保存される。「いいえ」ボタン1002は、サブミットされたフォーム認証情報を保存せずに処理を続行するように指示するボタンである。
図10(B)は、フォームデータテーブル409に、このサイトのurl901と、id903の組は存在するが、password904がサブミットされたpasswordと異なっている場合に表示される画面例を示す。「はい」ボタン1003は、サブミットされたデータで、フォームデータテーブル409のpassword904の情報を上書きして更新するためのボタンである。「いいえ」ボタン1004は、サブミットされたデータを保存せずに、処理を続行するためのボタンである。もしフォームデータテーブル409に登録されている情報が、サブミットされたフォーム認証情報と完全に一致した場合は、図10の画面は表示されずに処理が続行される。
図11は、実施形態1に係るMFP110において、フォームデータテーブル409に登録されたフォーム認証情報を表示する確認画面の一例を示し、図9で示されるフォーム認証情報が保存されている場合に表示される画面例である。この確認画面では、ログイン画面のタイトル、或いはWebサーバ120のURLに関連付けてユーザ名が表示されている。
図11(A)は、後述する図12の設定画面において、サイト名にURLを表示しない設定にしている(「しない」ボタンを選択)場合の画面例を示す。
図11(B)は、図12の設定画面において、サイト名にURLを表示する(「する」ボタンを選択)場合の画面例を示す。
サイト名表示領域1101は、サイト名を表示する領域で、図12の設定画面による設定内容によって、図8のHTMLデータでtitleタグがない場合の表示内容が変わる。この例では、図9に示すようにURL「http://www.serverB.com/logon.html」がtitle属性を有していない。このため、図11(A)では所定文字列(“no title”)が表示され、図11(B)ではurlが表示されている。尚、URLを表示しない設定にした場合に表示する文字列は、図11(A)の例に限定されるものではなく様々な文字列を表示してもよい。
ユーザ名表示領域1102は、サイト名に対応するid903の内容を表示する領域である。削除ボタン1103は、保存されているフォーム認証情報を削除するためのボタンである。図11のリスト表示された項目の中から削除したい項目の行を選択して削除ボタン1103を押下することにより、フォームデータテーブル409に保存されている情報を削除することができる。戻るボタン1104は、この画面を閉じて直前に表示していた画面に戻るためのボタンである。
図12は、実施形態1に係るMFP110において、図11の確認画面の表示設定を行う設定画面の一例を示す図である。
MFP110の設定画面(不図示)の中のウェブブラウザ表示設定(登録パスワード確認画面)(不図示)を選択すると、図12に示される画面が表示される。選択ボタン1201は、サイト名にURLを表示するか、しないかを排他的に選択するボタンで、「する」「しない」のどちらかが必ず選択状態(押下状態)になる。即ち、一方のボタンを押下するとそのボタンが選択状態になり、他方のボタンは非選択状態になる。OKボタン1202は、選択ボタン1201で選択された内容を確定するためのボタンである。キャンセルボタン1203は、この画面を介した設定を行わずに、この設定画面から抜けるためのボタンである。選択ボタン1201で設定内容を変更してOKボタン1202を押下することで、図11のサイト名表示領域1101に表示する内容を、URLにするか、所定の文字列にするかを切り替えることができる。
図13は、実施形態1に係るMFP110によるフォーム認証情報の登録処理の一連の処理の流れを説明するシーケンス図である。
ユーザがMFP110にログインした後、メニューからブラウザの機能ボタン(不図示)を押下すると、メニュー管理部401がユーザによるボタンの押下を検出する。メニュー管理部401はボタンの押下を検出すると、まずS1301で、Webブラウザ404に対してWebブラウザ画面を前面に表示するように指示し、そのボタンに紐づいたURLのロード指示を出す。次にS1302で、Webブラウザ404はメニュー管理部401からの指示に従って、Webアプリケーション501に対して、HTTPのGETコマンドをリクエストする。これによりS1303でWebアプリケーション501が、Webブラウザ404からの要求に応答して、Webアプリケーション501を利用するためのフォーム認証のHTMLデータ(例えば図8のHTMLデータ)を応答する。これによりS1304でWebブラウザ404は、その受け取ったHTMLデータをレンダリングして、例えば図6に示すような画面を操作部221に表示する。尚、この時、前述の図7を参照して説明したアドレスバー/ツールバーの表示、非表示の設定に従って、図6(A)或いは図6(B)のログイン画面が表示される。
そして、このログイン画面を介してユーザの操作が行われ、Webブラウザ404はサブミットボタンの押下を検知するとS1305でWebブラウザ404は、Webブラウザ監視部407に対してフォームデータ送信通知を送信する。Webブラウザ監視部407は、Webブラウザ404からフォームデータ送信通知を受信すると、S1306でフォームデータ管理部408に対してフォームデータの内容を送信する。これによりフォームデータ管理部408はS1307で、フォームデータを受信し、フォームデータテーブル409に保存されているフォーム認証情報と照合して確認ダイアログ表示すべきかどうかを判定する。即ち、新規のフォームデータか、或いはパスワードが変更されているかどうかを判定する。
ここで確認ダイアログを表示すべきと判定するとS1308で、例えば図10(A)又は図10(B)に示すようなダイアログの表示指示をWebブラウザ404に送る。これによりS1309でWebブラウザ404は、S1308で指示された確認ダイアログ画面を表示してユーザの指示を受け、その結果をフォームデータ管理部408に通知する。これによりフォームデータ管理部408はS1310で、ユーザの指示結果を受けてフォームデータテーブル409のデータを更新する。そしてS1311でWebブラウザ404は、例えば、図6の画面でサブミットボタンが押下されるとHTTP POSTリクエストをWebアプリケーション501に送信する。これにより、ユーザがログインした後のアプリケーション画面が表示される。
図14は、実施形態1に係るMFP110のWebブラウザ404が、Webアプリケーション501からHTMLデータを受信した後にブラウザ画面を表示する際の処理を説明するフローチャートである。尚、この処理を実行するプログラムはHDD204に記憶されており、このプログラムをRAM203に展開してCPU201が実行することにより実現される。よって、以下のフローチャートの説明では、各ステップの主体がCPU201であるとして説明する。
この処理は例えば、図13のS1303でWebブラウザ404がHTMLデータを受信することにより開始される。まずS1401でCPU201は、受信したHTMLデータのフォームに、type属性が「password」であるinputタグが含まれているか否かを判定する。もしtype属性がpasswordであるinputタグが含まれていないと判定した場合はS1406に進む。もしtype属性がpasswordであるinputタグを含んでいると判定した場合は、そのパスワードを取得してS1402に進みCPU201は、そのinputタグの前に存在するtype属性が「text」であるinputタグを探索する。もしtype属性がpasswordであるinputタグの前にtype属性がtextのinputタグ(ユーザ名の入力タグ)が存在しなければS1406に進む。type属性がtextであるinputタグが存在した場合は、そのユーザ名を取得してS1403に進みCPU201は、MFP110のログインユーザに対応するフォーム認証情報のテーブル(図9)をフォームデータ管理部408を経由して取得する。次にS1404に進みCPU201は、HTMLデータの送信元のURLに関する情報がフォームデータテーブル409に登録されているか否かを判定する。ここで登録されていないと判定した場合はS1406に進むが、登録されていると判定した場合はS1405に進む。S1405でCPU201は、フォームデータテーブル409の該当URLに紐付けられているid及びpasswordの情報を、S1401,S1402で取得したinpuタグの初期値として設定してS1406に進む。ステップS1406でCPU201は、受信したHTMLデータをレンダリングして、例えば図6に示すような画面を描画する。
このような処理を行うことにより、HTMLデータの送信元のURLに対応付けて、過去に入力したユーザ名やパスワードを含む認証フォーム情報を自動的に初期値として設定できる。
図15は、実施形態1に係るMFP110のフォームデータ管理部408が、図13のS1306でフォームデータを受信した後、S1307〜S1310で行う処理の詳細を説明するフローチャートである。尚、この処理を実行するプログラムはHDD204に記憶されており、このプログラムをRAM203に展開してCPU201が実行することにより実現される。よって、以下のフローチャートの説明では、各ステップの主体がCPU201であるとして説明する。
この処理はWebブラウザ404からフォームデータを受信することにより開始され、S1501でCPU201は、その受信したフォームデータが、type属性がpasswordであるinputタグを含んでいるか否かを判定する。そのようなinputタグが含まれていないと判定した場合は、この処理を終了する。type属性がpasswordであるinputタグを含んでいると判定した場合はS1502に進みCPU201は、そのフォームに入力されたパスワードをパスワード情報として記憶する。次にS1503に進みCPU201は、type属性がpasswordであるinputタグの前に存在するtype性がtextであるinputタグ(ユーザ名)を探索する。もし、そのようなinputタグが存在しなければ処理を終了する。S1503でtype属性がtextであるinputタグが存在すると判定した場合はS1504に進み、type属性がtextであるフォームに入力された値をユーザ名をユーザIDとして取得して記憶する。次にS1505に進みCPU201は、titleタグでマークされた値をタイトル情報として取得して記憶する。尚、ここでもしtitleタグがなければタイトル情報が存在しないことを記憶しておく。
次にS1506に進みCPU201は、ログインしたユーザに対応するフォーム認証情報のテーブル(図9)をフォームデータテーブル409から取得する。次にS1507に進みCPU201は、フォームデータを送信する先のURLに関する情報及びS1504で記憶したユーザID情報の組み合わせが、既にフォームデータテーブル409に登録されているか否かを判定する。ここで登録されていないと判定するとS1508に進み、CPU201は、Webブラウザ404に対して、例えば図10(A)に示すような登録確認ダイアログを表示するための表示指示を出す。そしてS1509に進みCPU201は、Webブラウザ404から、その画面を介したユーザによる操作結果を受け取り、ユーザの操作を判定する。ここで「はい」ボタン1001が押下されたと判定した場合はS1510に進み、「はい」ボタン1001押下以外の操作であると判定した場合は処理を終了する。S1510でCPU201は、Webアプリケーション501のURLとS1502,S1504,S1505で記憶したユーザID情報、パスワード情報、タイトル情報とを紐付ける。そしてこれらを、ログインユーザのフォームデータテーブル409に新規に登録して処理を終了する。
この処理により、MFP110のユーザは、例えば図9のようなサービスログインの画面で入力したユーザ名、パスワードを、その画面の供給元であるURL、画面のタイトルなどとともに登録することができる。
一方、S1507でCPU201は、URLとユーザID情報の組み合わせが既に登録されていると判定した場合はS1511に進む。S1511でCPU201は、S1502で取得したパスワード情報と、フォームデータテーブル409に登録されているパスワードとが一致するかどうかを判定する。ここでパスワードが一致しないと判定した場合はS1512に進むが、一致していると判定した場合はS1515に進む。S1515でCPU201は、ログインユーザのフォームデータテーブル409のWebアプリケーション501のURLと紐付けられているタイトル情報を、S1505で取得して保存したタイトル情報に更新して処理を終了する。これにより、例えば図6に示すようなログイン画面を表示する度にタイトル情報を取得して、フォームデータテーブル409のタイトル情報902を更新することができる。
一方、パスワードが変更されているときはS1512に進みCPU201は、Webブラウザ404に対して、例えば図10(B)に示すような情報更新確認ダイアログを表示するための表示指示を出す。そしてS1513に進みCPU201は、Webブラウザ404から、その画面を介したユーザによる操作結果を受け取りユーザの操作を判定する。ここでCPU201は、「はい」ボタン1003が押下されたと判定した場合はS1514に進むが、「はい」ボタン1003以外のボタンの操作であると判定した場合はS1515に進む。S1514でCPU201は、ログインしたユーザのフォームデータテーブル409のWebアプリケーション501のURLと紐付けられている情報を、S1502,S1505で取得したパスワード情報、タイトル情報に更新して処理を終了する。
以上説明したように、このフローチャートで示す処理によれば、例えば図9のようなサービスログインの画面で入力したパスワードが、既に登録されているパスワードと異なる場合は、そのパスワードを更新するかどうかどうかの確認画面を表示する。そして、その確認画面で更新が指示されると、既に登録されているパスワードを更新することができる。また、ログインしたユーザのフォーム認証情報が登録されていないときは、サービスログインの画面で入力したユーザ名、パスワードを、その画面の供給元であるURL、画面のタイトルなどとともに、簡単に登録することができる。
図16は、実施形態1に係るMFP110において、登録されているパスワードの確認画面のサイト名の表示欄1101へ表示する文字列を判定する処理を説明するフローチャートである。尚、この処理はフォームデータ管理部408で実行される。ここでは、例えば図11に示すように、フォームデータ表示部411は、リストの各行を描画する際にフォームデータ管理部408にサイト名表示欄に表示すべき内容を問い合わせる。フォームデータ管理部408は、フォームデータ表示部411からの問い合わせに応じて以下の処理を行い、表示文字列を返す。尚、この処理を実行するプログラムはHDD204に記憶されており、このプログラムをRAM203に展開してCPU201が実行することにより実現される。よって、以下のフローチャートの説明では、各ステップの主体がCPU201であるとして説明する。
まずS1601でCPU201は、フォームデータ表示部411からURL情報を受信する。次にS1602に進みCPU201は、ログインしたユーザのフォームデータテーブル409を探索して、受信したURLに紐付けられたタイトル情報が存在するかどうかを判定する。ここでタイトル情報が存在すると判定した場合はS1603に進み、CPU201は、そのタイトル情報を示す文字列を返して処理を終了する。
一方、S1602でCPU201がタイトル情報がないと判定した場合はS1604に進む。S1604でCPU201は、例えば図12に示す設定画面で設定されたURL表示設定の内容を判定する。S1604でCPU201が、サイト名にURLを表示するように設定されていると判定した場合はS1605に進み、サイト名としてURLの文字列を表示するように設定して、この処理を終了する。またS1604でCPU201が、サイト名にURLを表示しない設定であると判定した場合はS1606に進み、所定文字列(例えば図11の例では「no title」)を表示するように設定して、この処理を終了する。
以上説明したように実施形態1によれば、登録されたフォーム認証情報を表示する際に、タイトル情報がない場合の表示内容を、URLにするか、それ以外の文字列にするかを切り替えることができる。これにより、一般ユーザがURLを認識できない環境で、URLを表示する必要がなくなるため、ユーザを混乱させることがなくなり利便性が向上する。
[実施形態2]
上述の実施形態1では、フォーム認証情報を確認するための確認画面のサイト名に表示する内容をURLにするか、それ以外の文字列にするかを設定できる例を説明した。これに対して実施形態2では、Webブラウザのアドレスバーの表示設定に連動して動的に表示内容が切り替わる例を示す。実施形態1との違いは、図12の設定画面の有無と、図15のサイト情報として表示すべき文字列の決定処理だけであるため、システムの全体構成、ハードウェア構成、ソフトウェアモジュール構成等の説明は割愛する。
実施形態2では、Webブラウザ404のアドレスバー/ツールバー設定に連動して表示内容を切り替えるため、図12で示したような設定画面は存在しない。
図17は、実施形態2に係るMFP110において、登録されているパスワードの確認画面のサイト名の表示欄1101へ表示する文字列を判定する処理を説明するフローチャートである。尚、この処理はフォームデータ管理部408で実行される。ここでは、例えば図11に示すように、フォームデータ表示部411は、リストの各行を描画する際にフォームデータ管理部408にサイト名表示欄に表示すべき内容を問い合わせる。フォームデータ管理部408は、フォームデータ表示部411からの問い合わせに応じて以下の処理を行い、表示文字列を返す。尚、この処理を実行するプログラムはHDD204に記憶されており、このプログラムをRAM203に展開してCPU201が実行することにより実現される。よって、以下のフローチャートの説明では、各ステップの主体がCPU201であるとして説明する。
まずS1701でCPU201は、URL情報を受信する。次にS1702に進みCPU201は、ログインしたユーザのフォームデータテーブルを探索して、受信したURLに紐付けられたタイトル情報が存在するかどうかを判定する。ここでCPU201が、タイトル情報が存在すると判定した場合はS1703に進み、タイトルを示す文字列を表示するように設定して、この処理を終了する。
一方S1702でCPU201が、タイトル情報がないと判定した場合はS1704に進む。S1704でCPU201は、例えば図7に示す設定画面によるアドレスバーの表示設定の内容を判定する。ここでアドレスバーを表示する設定であると判定した場合はS1705に進み、URLの文字列を表示するように設定して処理を終了する。またS1704でCPU201は、アドレスバーを表示する設定でないと判定した場合はS1706に進み、所定文字列(例えば、図11の例では「no title」)を表示するように設定して処理を終了する。
以上説明したように実施形態2によれば、登録されたフォーム認証情報を表示する際に、Webブラウザのアドレスバーの表示/非表示の設定に連動して、タイトル情報がない場合の表示内容をURLにするか、別の文字列にするかを切り替えることができる。これにより、一般ユーザがURLを認識できない環境で、URLを表示しないようにすることが実現可能となり、ユーザの利便性がさらに向上する。
[他の実施形態]
上記実施形態1,2では、タイトルが存在しない場合にURLもしくは所定文字列のどちらかを表示していた。しかしながら、HTMLデータ内の別のタグや所定の場所に存在する文字列を保存しておき、これらの情報をタイトルがない場合の代替情報としてサイト名に表示するような構成としてもよい。例えばtype属性がpasswordであるinputタグを含むformタグの直後に含まれる文字列を保存しておき、タイトル情報がない場合にその文字列を表示するなどとしてもよい。これにより、よりユーザの利便性を向上させることが可能となる。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。