以下、本発明の実施の形態を図面を参照して説明する。
(第1の実施の形態)
図1は、本発明の第1の実施の形態に係る認証システムを含むネットワーク構成を示すブロック図である。このネットワークにおいては、LAN(ローカルエリアネットワーク)105に、画像形成装置101と複数のPC(パーソナルコンピュータ)102、103が接続されている。デバイスの一例である画像形成装置101は、MFP(マルチファンクションペリフェラル装置)、プリンタ、ファックス、複写機等である。
画像形成装置101、PC102、103は、LAN105を介して相互に通信することができる。なお、LAN105には、複数の画像形成装置、あるいは3以上のPCが接続されていても良い。
<画像形成装置のハードウェア構成>
図2は、画像形成装置101のハードウェア構成を示すブロック図である。画像形成装置101において、CPU2001は、画像形成装置101全体の制御を司る。ROM2002には、CPU2001が実行するソフトウェアプログラムやフォントデータが格納される。RAM2003は、CPU2001のワークエリア、受信バッファ、画像描画に使用される。HDD(ハードディスク)2004は、ソフトウェアのプログラムコードや、ユーザ認証情報等のデータを記録する。操作パネル2005は、各種スイッチ、ボタン、メッセージ表示用の液晶表示部(いずれも図示せず)で構成される。ICカード読み取り装置2006は、ユーザ認証に使用されるICカードを読み取るための装置である。ネットワークインタフェース(I/F)2007は、ネットワークに接続するためのインタフェースである。プリンタエンジン2008は、記録紙に印刷を行う。これ以外にも、画像形成装置101は、スキャナ、ファクシミリ等のハードウェア部品(不図示)を備える。
<画像形成装置のソフトウェア構成及び記憶情報>
図3は、画像形成装置101のソフトウェア構成及び記憶情報を示すブロック図である。画像形成装置101は、第一の認証システム304及び第二の認証システム311を備える。また、デバイスドライバ群301、オペレーティングシステム302、アプリケーションプラットフォーム303を備える。さらに、システムアプレット320、システムサーブレット321、システムWebサービス322、アプレット323、サーブレット324、Webサービス325を備える。画像形成装置101はまた、記憶装置300を備えるが、記憶装置300は、一例として図2に示したHDD2004であるとする。ただし、RAM2003、あるいは外部ストレージであってもよい。これらの構成により、画像形成装置101において本実施の形態における認証システムが構成される。
デバイスドライバ群301は、上記した各種ハードウェアを制御するためのデバイスドライバ群である。アプリケーションプラットフォーム303は、画像形成装置101の組み込みアプリケーションをインストール/アンインストール、起動/停止等を制御するためのアプリケーションプラットフォームである。例えば、アプリケーションプラットフォーム303は、JAVA(登録商標)プラットフォームや、OSGiフレームワークを含む形で構成することができる。ここでOSGiフレームワークは、OSGi・Alliance(標準化団体)が定義したJAVA(登録商標)ベースのサービスプラットフォームである。
アプリケーションプラットフォーム303には、画像形成装置101が工場出荷時から備えるシステムアプリケーションに加えて、画像形成装置101の管理者が追加でアプリケーションを登録することができる。工場出荷時から備えるシステムアプリケーションには、第二の認証システム311、システムアプレット320、システムサーブレット321、システムWebサービス322が該当する。追加で登録されるアプリケーションには、第一の認証システム304、アプレット323、サーブレット324、Webサービス325が該当する。
アプリケーションプラットフォーム303は、アプリケーションを管理するためのユーザインタフェースを備えるサーブレットを提供する。このアプリケーション管理用インタフェースを図4に示す。画像形成装置101の管理者は、ネットワークを介してアプリケーション管理用インタフェース(図4)を用いて、アプリケーションの実行ファイル(JAR(Java(登録商標) ARchive)ファイル)を指定する。そして、アプリケーションの追加インストールや管理を実施することができる。
上記ソフトウェアを実行するための実行プログラムは、不揮発性の記憶領域(ROM2002及び/またはHDD2004の記憶領域)に記憶されている。これらの実行プログラムは、画像形成装置101の電源投入後にRAM2003にコピーされCPU2001によって実行される。管理者が追加でインストールしたアプリケーションの実行ファイルもHDD2004に記録される。
<認証システム>
第一の認証システム304及び第二の認証システム311は、画像形成装置101を利用するユーザを特定するための認証システムである。これらの認証システムもアプリケーションプラットフォーム303上で動作する組み込みアプリケーションとして構成される。第一の認証システム304は、画像形成装置101の管理者によって、画像形成装置101に追加インストールされる認証システムである。管理者によって複数種類の第一の認証システムがインストールされることもある。管理者が認証システムを1つも追加インストールしていない場合は、画像形成装置101に第一の認証システム304は存在しないことになる。第二の認証システム311は、画像形成装置101が工場出荷時から備えている認証システムであり、画像形成装置101に必ず存在する。第一の認証システム304が存在しない場合は、常に第二の認証システム311が起動し、第二の認証システム311がユーザを認証する。
第一の認証システム304、第二の認証システム311は、複数種類の認証要求アクセスの各々に対して、それぞれ、第一のユーザ認証を行う「第一の認証サービス群」、第二のユーザ認証を行う「第二の認証サービス群」を提供する。本実施の形態では、「第一の認証サービス群」には、ローカル認証サービス305、HTTP認証サービス306、SOAP認証サービス307の3種類が含まれる(図4)。また、「第二の認証サービス群」には、ローカル認証サービス312、HTTP認証サービス313、SOAP認証サービス314の3種類が含まれる(図4)。第一、第二の認証サービス群には、これら以外のサービスが含まれていてもよい。
以降、第一、第二の認証サービス群の各々について、第一、第二の認証サービスと称する場合がある。また、ローカル認証サービス、HTTP認証サービス、SOAP認証サービスを区別して呼称する場合に、「認証サービスの種類」と称する。例えば、ローカル認証サービス305とローカル認証サービス312とは、共にローカル認証サービスであるため同種類の認証サービスとして呼称する。また、HTTP認証サービス306、313は同種類、SOAP認証サービス307、314は同種類の認証サービスである。なお、これらの各認証サービスについては符号のみで記す場合もある。
ローカル認証サービス305、312は、操作パネル2005から画像形成装置101を利用するユーザを認証するための認証サービスである。これらの認証サービスにおいては、画像形成装置101は、例えば、ユーザからの認証要求アクセスとしての操作指示があると、操作パネル2005上に、図5(a)に示すようなユーザインタフェースを表示する。そしてこのユーザインタフェースにおいて、ユーザから、ユーザ認証情報として、ユーザアカウント(ユーザID)及びパスワードの入力を受け付けて、ユーザ認証を行う。あるいは、操作パネル2005上に、図5(b)に示すように、“ICカードをICカード読み取り装置にかざしてください”というようなメッセージを表示する。そして、ICカード読み取り装置2006(図2)から取得したICカード情報をユーザ認証情報として、それを基にユーザ認証を行っても良い。
ローカル認証サービス305、312で認証されたユーザの情報は、アプリケーションプラットフォーム303を介して、システムアプレット320、アプレット323に通知される。ローカル認証サービス305、312は、サービス起動時に、サービス名称“Local Login Service”をアプリケーションプラットフォーム303に登録する。
HTTP認証サービス306、313は、Webブラウザを用いて、システムサーブレット321、サーブレット324等のサーブレットアプリケーションを利用するユーザを認証するための認証サービスである。これらの認証サービスにおいては、画像形成装置101は、例えば、ネットワーク上のPC端末(PC102、103等)からのHTTPプロトコルによるアクセス(認証要求アクセス)を検知して、PC端末側にユーザ認証情報の送信を求めるように動作する。PC端末から受信したHTTPのヘッダに含まれるユーザ認証情報を解析してユーザ認証を行うことができる。HTTPのヘッダを利用した認証方法は、RFC2617やRFC4559に規定されている。HTTP認証サービスは、RFC2617やRFC4559に準拠する。
HTTP認証サービス306、313で認証されたユーザの情報は、アプリケーションプラットフォーム303を介して、システムサーブレット321、サーブレット324に通知される。HTTP認証サービス306、313は、サービス起動時に、サービス名称“HTTP Login Service”をアプリケーションプラットフォーム303に登録する。
SOAP認証サービス307、314は、システムWebサービス322やWebサービス325等のWebサービスを利用するユーザを認証するための認証サービスである。これらの認証サービスにおいては、画像形成装置101は、例えば、ネットワーク上のPC端末からのSOAPプロトコルによるアクセス(認証要求アクセス)を検知して、PC端末側にユーザ認証情報の送信を求めるように動作する。PC端末から受信したSOAPメッセージに含まれるユーザ認証情報を解析してユーザ認証を行うことができる。SOAPメッセージを利用した認証方法は、OASIS(Organization for the Advancement of Structured Information Standards)によって規定されている。すなわち、OASISによってWS−SecurityやWS−Trust等の規格が規定されている。SOAP認証サービスは、これらの規格に準拠する。
SOAP認証サービス307、314で認証されたユーザの情報は、アプリケーションプラットフォーム303を介して、システムWebサービス322、Webサービス325に通知される。SOAP認証サービス307、314は、サービス起動時に、サービス名称“SOAP Login Service”をアプリケーションプラットフォーム303に登録する。
記憶装置300には、ユーザ認証情報310、317、起動設定情報318、サービス起動設定319が記憶される。サービス起動設定319は、第二の認証システム311で第二の認証サービスの各々を起動してよいか否かが設定された「設定情報」である。ユーザ認証情報310は第一の認証システム304によって利用され、ユーザ認証情報317は第二の認証システム311によって利用される。
第一の認証システム304、第二の認証システム311はそれぞれ、ユーザ認証情報管理部308、315を備える。ユーザ認証情報管理部308、315は、記憶装置300にアクセスして、記憶されているユーザ認証情報310、317の参照を行う。ユーザ認証情報310、317は、別途のユーザ登録によって記憶される。ユーザ認証情報管理部308、315には、画像形成装置101の管理者が、ユーザ認証情報を登録/編集/削除/参照するためのユーザインタフェースを備えるように構成してもよい。第一の認証システム304、第二の認証システム311は、それぞれ、各認証サービスが取得したユーザ認証情報とユーザ認証情報310、317とを比較検証することによりユーザ認証を実施する。
ユーザ認証情報310、317は、記憶装置300における記憶領域、及び記憶されるユーザ認証情報の内容が異なってもよい。例えば、第二の認証システム311は、ユーザ認証情報317として、ユーザのアカウントとパスワードを記憶させるのに対して、第一の認証システム304は、ユーザ認証情報310として、ユーザが持つICカードの情報を記憶させてもよい。この場合、ローカル認証サービス305は、ICカード読み取り装置2006から取得したICカードの情報とユーザ認証情報310から取得したICカードの情報とを比較検証することによりユーザ認証を実施する。
第一の認証システム304は、問い合わせ応答サービス309を備える。問い合わせ応答サービス309は、第二の認証システム311からの認証サービス起動の可否の問い合わせに応答するためのサービスである。問い合わせ応答サービス309は、第二の認証システム311で第二の認証サービス群の各々を起動してよいか否かが設定された「応答用情報」を保持し、この「応答用情報」に基づいて問い合わせに応答する。問い合わせ応答サービス309の応答用情報は、デフォルトで規定されているが、管理者が事後的に設定や変更が可能なように構成してもよい。
問い合わせ応答サービス309は、サービス起動時に、サービス名称“Default Login Activation Service”をアプリケーションプラットフォーム303に登録する。
第二の認証システム311は、サービス起動管理部(確認手段、問い合わせ手段、制御手段)316を備える。サービス起動管理部316は、第二の認証サービス群(サービス312、313、314)の起動/停止を制御する。サービス起動管理部316は、記憶装置300の起動設定情報318にアクセスしてその設定値を変更することができる。
図6(a)は、起動設定情報318の設定内容の一例を示す概念図である。図6(b)は、サービス起動設定319の設定例を示す概念図である。図7(a)は、起動設定情報318と、起動/停止設定用のユーザインタフェース(UI)及びプログラムと、サービス起動設定319との関係を示す図である。図7(b)、(c)は、起動/停止設定用の操作画面(ユーザインタフェース)の一例を示す図である。
<システムアプレット320>
図3に示すシステムアプレット320は、操作パネル2005を利用するアプリケーションであり、画像形成装置101が工場出荷時から備えている。ユーザは、ローカル認証サービス305もしくはローカル認証サービス312で認証された後にシステムアプレット320を使用することができる。システムアプレット320は、第二の認証サービス群(312、313、314)の起動/停止設定を行うために操作パネル2005に表示されるユーザインタフェース(UI)701(図7(a))を備える。UI701は、ローカル認証サービス305で認証後の(認証成功した)ユーザが使用可能な「設定機能」である。UI701でユーザによって設定乃至設定変更された値は、サービス起動設定319に記録される。
<システムサーブレット321>
システムサーブレット321は、画像形成装置101が工場出荷時から備えているサーブレットであり、PCのWebブラウザからネットワークを介して利用することができる。ユーザは、HTTP認証サービス306もしくはHTTP認証サービス313で認証された後にシステムサーブレット321を使用することができる。システムサーブレット321は、第二の認証サービス群(312、313、314)の起動/停止設定を行うための操作画面をPCのWebブラウザに表示するためのUI702(図7(a))を備える。UI702は、具体的には操作画面をPCのWebブラウザに表示するための、HTMLなどで記述されたWebページである。UI702は、HTTP認証サービス306で認証後の(認証成功した)ユーザが使用可能な「設定機能」である。UI702でユーザによって設定乃至設定変更された値は、サービス起動設定319に記録される。
<システムWebサービス322>
システムWebサービス322は、画像形成装置101が工場出荷時から備えている、SOAP通信を利用したWebサービスであり、PC上のアプリケーションからネットワークを介して利用することができる。ユーザは、SOAP認証サービス307もしくはSOAP認証サービス314で認証された後にシステムWebサービス322を使用することができる。システムWebサービス322は、第二の認証サービス(312、313、314)の起動/停止設定を行うためのWebサービスプログラム703(図7(a))を備える。Webサービスプログラム703は、SOAP認証サービス307で認証後の(認証成功した)ユーザが使用可能な「設定機能」である。Webサービスプログラム703によって設定乃至設定変更された値は、サービス起動設定319に記録される。
このように、UI701、UI702、プログラム703は、第二の認証サービス群(サービス312、313、314)の起動/停止の設定を行うためのインタフェース(UI、API(Application Program Interface))である。これらの「設定機能」は、サービス起動設定319の設定乃至変更を、認証されたユーザから受け付けるためのものである。図6(a)に示す起動設定情報318には、これらUI701、UI702、プログラム703を用いた第二の認証サービスの各々の起動設定の可否、つまり、ユーザによる設定乃至設定変更の可否;有効/無効を示す設定値が記録される。図6(a)において、「TRUE」は起動設定が可(有効)、「FALSE」は起動設定が不可(無効)であることを示す。起動設定情報318の各項目の設定値は、初期値(デフォルト)としてすべて「FALSE」に設定されているとする。
サービス起動設定319(図6(b))において、各認証サービスの起動停止制御に関し、「TRUE」が「起動する」、「FALSE」が「起動しない(停止)」であることを示す。サービス起動設定319には、画像形成装置101の工場出荷時には全て初期値としてTRUEが記録されているものとする。
図6(a)において、符号601〜603で示す値は、設定機能のうちUI701の使用可否を第二の認証サービスの種類別に規定する。符号603〜606で示す値は、設定機能のうちUI702の使用可否を第二の認証サービスの種類別に規定する。符号607〜609で示す値は、設定機能のうちプログラム703の使用可否を第二の認証サービスの種類別に規定する。従って、第二の認証システム311は、上記の設定機能を、第一の認証サービスの種類毎に(サービス305、306、307のそれぞれについて)提供可能である。
図7(b)、(c)に例示されるように、UI701またはUI702には、第二の認証サービス群(サービス312、313、314)の起動/停止の設定を受け付けるための項目が表示される。起動設定情報318に設定されたもののうち「TRUE」となっているサービスが、UI701、UI702に表示され、設定乃至変更(起動する/起動しないの設定)の受け付けが可能となる。
システムアプレット320は、それの起動時に起動設定情報318の設定値(符号601、602、603)を参照し、設定値がTRUEである項目(認証サービス)のみをUI701(図7(b))に表示する。例えば、図6(a)の例でいえば、符号601、602、603のうち符号602、603の値がTRUEであるので、UI701において、符号801、802(HTTP認証サービス313、SOAP認証サービス314)のみが表示される。
また、システムサーブレット321は、それの起動時に起動設定情報318の設定値(符号604、605、606)を参照し、設定値がTRUEの項目(認証サービス)のみをUI702(図7(c))に表示する。例えば、図6(a)の例でいえば、符号604、605、606のうち符号606の値がTRUEであるので、UI702において、符号803(SOAP認証サービス314)のみが表示される。
システムWebサービス322は、それの起動時に起動設定情報318の設定値(符号607、608、609)を参照し、設定値がTRUEの項目(認証サービス)に対応するWebサービスプログラムを使用可能にする(図示せず)。例えば、図6(a)の例でいえば、符号607、608、609のうち符号608の値がTRUEであるので、Webサービスプログラム703のうち、HTTP認証サービス313に対応するWebサービスプログラムを使用可能にする。
UI701、UI702、Webサービスプログラム703において、ユーザからの指示を受け付けて設定が変更されると、それが随時、サービス起動設定319(図6(b))に反映される。例えば、図7(b)の設定例でいえば、HTTP認証サービス313及びSOAP認証サービス314が「起動する」に設定されているので、サービス起動設定319(図6(b))では、それらの設定値が「TRUE」となる。サービス起動管理部316は、サービス起動設定319を参照して、第二の認証サービスの各々の起動/停止を制御する。従って、UI701、UI702、プログラム703において、ユーザは、受け付け可能な認証サービスについて「起動」を選択することで、その認証サービスが起動されるように指示することが可能となる。
ところで、第一の認証システム304は、第一の認証サービス群(サービス305、306、307)のすべて、及び問い合わせ応答サービス309を必ずしも備えているとは限らない。例えば、図8(a)に例示するような、ローカル認証サービス305及びユーザ認証情報管理部308のみを備える構成となることもある。または、図8(b)に例示するような、ローカル認証サービスと305、HTTP認証サービス306及びユーザ認証情報管理部308のみを備える構成となることもある。あるいは、図8(c)に例示するような、ローカル認証サービスと305、SOAP認証サービス307及びユーザ認証情報管理部308のみを備える構成となることもある。
<アプレット323、サーブレット324、Webサービス325>
図3に示すアプレット323は、操作パネル2005を利用するアプリケーションである。ユーザは、ローカル認証サービス305もしくはローカル認証サービス312で認証された後にアプレット323を使用することができる。
サーブレット324は、サーブレットを備えるアプリケーションである。ユーザは、HTTP認証サービス306もしくはHTTP認証サービス313で認証された後にサーブレット324を使用することができる。
Webサービス325は、Webサービスを備えるアプリケーションである。ユーザは、SOAP認証サービス307もしくはSOAP認証サービス314で認証された後にWebサービス325を使用することができる。
<認証サービスの起動処理>
次に、画像形成装置101の電源が投入されてから、画像形成装置101の認証サービスが利用可能になるまでの処理を説明する。画像形成装置101の電源が投入されると、各種プログラムがROM2002やHDD2004からRAM2003にロードされる。そして、デバイスドライバ群301、オペレーティングシステム302、アプリケーションプラットフォーム303が順次起動される。次に、アプリケーションプラットフォーム303は、追加インストールされた第一の認証システム304が起動するように設定されている場合に、第一の認証システム304を起動する。
第一の認証システム304は、自身が備える第一認証サービスを起動し、上記した各サービス名称と各サービスを利用するためのAPIを実装したインスタンスをアプリケーションプラットフォーム303に登録する。次に、アプリケーションプラットフォーム303は、第二の認証システム311を起動する。次に、図9(a)、(b)のフローチャートを参照して、第二の認証システム311の起動処理について説明する。
ここで、本実施の形態では、設定機能(UI701、UI702、プログラム703)を用いてユーザによりサービス起動設定319の設定変更を行えるように構成することと、そのような設定変更を行えないように構成することが可能である。ユーザによるサービス起動設定319の設定変更を行えない場合の処理が図9(a)である。一方、ユーザによるサービス起動設定319の設定変更を行える場合、図9(a)の処理の中に図9(b)に示すステップを追加した処理を実行する。
図9(a)は、本実施の形態において設定機能を用いてサービス起動設定319の設定変更を行えない場合における第二の認証システム311の起動処理のフローチャートである。この起動処理は、画像形成装置101の電源が投入されると実行開始する。あるいは、ユーザからの認証要求アクセスがある度に実行開始するようにしてもよい。
サービス起動管理部316はまず、第一の認証サービス群(305、306、307)の起動をチェックする。そして、第二の認証システム311が有する認証サービス(第二の認証サービス)と同種類の認証サービスが第一の認証システム304で起動しているか否かを判別する(ステップS101)。
具体的には、サービス起動管理部316は、アプリケーションプラットフォーム303に、サービス名称が登録されているか否かによって各種類の第一認証サービスの起動を判別する。ここでいうサービス名称は、上記した“Local Login Service”、“HTTP Login Service”、“SOAP Login Service”の3つである。例えば、“Local Login Service”だけが登録されていた場合、ローカル認証サービスは起動しているが、他の種類の認証サービス(HTTP認証サービス及びSOAP認証サービス)は起動していないと判断する。
そして、第二の認証システム311が有する認証サービスと同種類の認証サービスが第一の認証システム304で起動している場合は、サービス起動管理部316は、本処理を終了させる。すなわち、第一の認証サービスと同種類の第二の認証サービスを起動しない。例えば、ローカル認証サービス305が起動している場合は、ローカル認証サービス305によって認証が行えるため、ローカル認証サービス312を起動しない。
一方、第二の認証サービスと同種類の第一の認証サービスが起動していない場合は、サービス起動管理部316は、当該第二の認証サービスを「起動判定対象」とする。そして、この起動判定対象の起動可否を第一の認証システム304に対して問い合わせる(ステップS102)。従って、同種類の認証サービスの起動がなかったものが「起動判定対象」、すなわち、問い合わせの対象となる。
問い合わせは具体的には次のようになされる。サービス起動管理部316は、アプリケーションプラットフォーム303にサービス名“DefaultLoginActivationService”が登録されているか否かを確認する。これにより、問い合わせ応答サービス309が起動しているか否かを確認する。問い合わせ応答サービス309が起動していれば、サービス起動管理部316は、アプリケーションプラットフォーム303を介して問い合わせ応答サービス309を呼び出し、「起動判定対象」の起動の可否を問い合わせる。
次に、サービス起動管理部316は、ステップS102における問い合わせが成功したか(問い合わせ応答サービス309から「起動判定対象」の起動の可否の情報を取得できたか)否かを判別する(ステップS103)。その判別の結果、サービス起動管理部316は、問い合わせが成功した場合は、問い合わせ応答サービス309から取得できた起動可否の情報に従って、「起動判定対象」の起動/停止を制御する(ステップS104)。その後、本処理を終了させる。
このように、設定機能を用いない構成においては、デフォルトの応答用情報を保持した問い合わせ応答サービス309、または、デフォルトによりまたは管理者により設定されるサービス起動設定319に従って、起動/停止が制御される。従って、第一の認証システム304が、第二の認証システム311における第二の認証サービスの利用の可否を制御することが可能となる。
図9(b)は、本実施の形態において設定機能を用いる構成における第二の認証システム311の起動処理のフローチャートの一部である。図9(b)の処理は、図9(a)のステップS103の「NO」判定とステップS105との間に挿入されて実行される。つまり、図9(a)の処理において、ステップS103とステップS105の間に図9(b)の処理を挿入したものが、ユーザによるサービス起動設定319の設定変更を行える場合における第二の認証システム311の起動処理となる。
前記ステップS103の判別の結果、問い合わせが失敗した場合は、サービス起動管理部316は、「起動判定対象」とは異なる種類の第一の認証サービスが起動しているか否かを判別する(ステップS201)。その判別の結果、サービス起動管理部316は、「起動判定対象」とは異なる種類の第一の認証サービスが起動している場合はステップS202に処理を進める。
ステップS202では、サービス起動管理部316は、「起動判定対象」とは異なる種類で且つ起動している第一の認証サービスの認証成功後に使用可能となる設定機能を用いた「起動判定対象」の起動設定の受け付けを「可(可能)」にする。
上述のように、起動設定の受け付けを「可」とすることは、設定機能(UI701、UI702、プログラム703)によるサービス起動設定319(図6(b))の設定乃至設定変更を、認証されたユーザから受け付けられるようにすることである。そのためには、ステップS202では、起動設定情報318のうち、上記使用可能となる設定機能に対応するもので且つ、「起動判定対象」と同種類の項目の設定値を「TRUE」に設定する。その後、サービス起動管理部316は、ステップS203に処理を進める。
一方、前記ステップS201で、「起動判定対象」とは異なる種類の第一の認証サービスが起動していない場合は、サービス起動管理部316は、ステップS202を実行することなくステップS203に処理を進める。ステップS203では、サービス起動管理部316は、第一の認証サービスの認証を受けることなく使用可能な設定機能を用いた起動設定の受け付けをすべて「不可」にする。
これらの態様を、図10を用いて例示する。まず、図10(a)に示すように、第一の認証システム304においてローカル認証サービス305のみが起動している事例を考える。例えば、「起動判定対象」がHTTP認証サービス313である場合は、「起動判定対象」とは異なる種類であるローカル認証サービス305が起動していることになる。従って、サービス起動管理部316は、ステップS202で、起動設定情報318のうち、「起動判定対象」であるHTTP認証サービス313の起動設定可否の設定値(図6(a)の符号602)を「TRUE」に設定する。これにより、システムアプレット320のUI701(図7(a))には、HTTP認証サービス313の起動/停止の設定の受け付け項目が表示される(図7(b)の符号801)。そしてユーザは、この受け付け項目にてHTTP認証サービス313の起動/停止(つまり、起動する/起動しない)の設定が可能となる。
この事例において、ステップS203では、第一の認証サービスの認証を受けることなく使用可能な設定機能の受け付けが「不可」になる。すなわち、図6(a)の符号604〜符号609の値が「FALSE」に設定される。
同様の(図10(a)に示す)事例において、「起動判定対象」がSOAP認証サービス314である場合を考える。この場合は、サービス起動管理部316は、起動設定情報318のうち、「起動判定対象」であるSOAP認証サービス314の起動設定可否の設定値(図6(a)の符号603)を「TRUE」に設定する。これにより、システムアプレット320のUI701(図7(a))には、SOAP認証サービス314の起動/停止の設定の受け付け項目が表示される(図7(b)の符号802)。そしてユーザは、この受け付け項目にてSOAP認証サービス314の起動/停止の設定が可能となる。
図6(a)の符号601〜符号609について、一旦、値が「TRUE」に設定されたものは、次回以降の図9(b)のステップS203の処理によって「FALSE」に設定されるまで維持される。従って、図10(a)に示す事例においては、順序を問わずHTTP認証サービス313の認証要求アクセス及びSOAP認証サービス314の認証要求アクセスがなされた場合に、UI701に、図7(b)に示すような2つの受け付け項目が表示される。
HTTP認証サービス306が起動していて、「起動判定対象」がSOAP認証サービス314である場合は、サービス起動管理部316は、ステップS202で、起動設定情報318のうち、図6(a)の符号606の値を「TRUE」に設定する。これにより、システムサーブレット321のUI702には、図7(c)に示すように、SOAP認証サービス314の起動/停止の設定の受け付け項目が表示される。
なお、図9(a)、(b)の処理は並行して処理されるようにしてもよい。例えば、図10(a)に示す事例において、HTTP認証サービス313、SOAP認証サービス314が共に「起動判定対象」となる場合は、起動設定情報318のうち、図6(a)の符号602、603の値が「TRUE」に設定される。
なお、図9(b)のステップS203では、「起動判定対象」とは異なる種類で且つ起動していない第一の認証サービスの認証成功後に使用可能となる設定機能を用いた起動設定の受け付けをすべて「不可」にした。しかし、匿名のユーザによる不適切利用を防止する観点に限れば、これに限るものでなく、当該設定機能を用いた「起動判定対象」の起動設定の受け付けだけを「不可」にするようにしてもよい。また、「起動判定対象」と同種類で且つ起動していない第一の認証サービスの認証成功後に使用可能となる設定機能を用いた起動設定の受け付けについては、すべて「不可」とするようにしてもよい。
ステップS203の処理後は、サービス起動管理部316は、図9(a)のステップS105に処理を進める。起動設定情報318で規定される使用可否に従って、UI701、UI702(図7(b)、(c)に例示)、プログラム703を用いて設定変更等がなされると、それがサービス起動設定319に随時反映される。従って、図9(b)の処理後の前記ステップS105においては、それまでにユーザによって設定変更等がなされていれば、設定変更後のサービス起動設定319に基づく起動/停止の制御がなされることになる。あるいは、設定変更後のサービス起動設定319は、次回の画像形成装置101の起動時にサービス起動管理部316が参照するように構成してもよい。
なお、ステップS202またはステップS203の処理後に、UI701、UI702、プログラム703を用いた起動設定の受け付け期間を確保し、その後、ステップS105を実行するようにしてもよい。そうすれば、サービス起動設定319の内容が更新された状態で次のステップS105を実行できる可能性が高まる。
ところで、図10(a)〜(c)に示す矢印は、ユーザにおける第二の認証サービスの起動/停止の流れを示す。上述したように、図10(a)の例では、ローカル認証サービス305により認証されたユーザのみに、UI701を用いたHTTP認証サービス313またはSOAP認証サービス314の起動/停止の設定が許可される。これにより、ローカル認証サービス305により認証されたユーザのみが第二の認証システム311を利用した認証が可能になると共に、匿名のユーザがデバイス固有の第二の認証システム311を不適切に利用することが防止される。また、システムサーブレット321やシステムWebサービス322を利用した第二の認証サービスの起動/停止の設定は許可されない。これにより、セキュリティが確保される。
図10(b)では、ローカル認証サービス305、HTTP認証サービス306が起動していて、SOAP認証サービス314が「起動判定対象」となった場合を例示する。図9(b)のステップS202の処理において、サービス起動管理部316は、起動設定情報318のうち、設定値(図6(a)の符号603、606)を「TRUE」に設定する。これにより、ユーザは、システムアプレット320のUI701、システムサーブレット321のUI702を用いてSOAP認証サービス314の起動/停止の設定が可能となる。
図10(c)では、ローカル認証サービス305、SOAP認証サービス307が起動していて、HTTP認証サービス313が「起動判定対象」となった場合を例示する。図9(b)のステップS202の処理において、サービス起動管理部316は、起動設定情報318のうち、設定値(図6(a)の符号602、608)を「TRUE」に設定する。これにより、ユーザは、システムアプレット320のUI701、システムWebサービス322のWebサービスプログラム703を用いてHTTP認証サービス313の起動/停止の設定が可能となる。
本実施の形態によれば、問い合わせ応答サービス309の応答用情報の設定内容によって、第一の認証システム304が、第二の認証システム311における第二の認証サービス群の利用の可否を制御することが可能となる。
また、問い合わせ応答サービス309への問い合わせが失敗した場合でも、図9(a)の処理により、予め定められたサービス起動設定319(図6(b))の設定内容に従って、起動判定対象の起動/停止が制御される。これにより、第二の認証システム311における第二の認証サービス群の利用の可否を第一の認証システム304側で予め定めておくことができる。
また、図9(b)の処理を設けることにより、問い合わせ応答サービス309への問い合わせが失敗した場合でも、ユーザは、第一の認証サービスの認証成功後に使用が可能となる設定機能を用いて、第二の認証サービスを起動してよいか否かの設定を行える。これにより、ユーザは第二の認証サービスの利用の可否を制御することができるので、利便性が確保される。しかも、そのユーザは、第一の認証システムによって認証成功したユーザに限られるため、匿名のユーザによる不適切利用を防止し、セキュリティを確保することができる。
(第2の実施の形態)
上記した第1の実施の形態では、第二の認証システム311が、第一の認証システム304に第二の認証サービスの起動の可否を問い合わせるように構成した。これに対し第2の実施の形態では、第一の認証システム304が、第二の認証システム311に、第二の認証サービスの各々の起動の要求(依頼)を行う機能を有するように構成される。図3、図9に代えて図11、図12を用いて本第2の実施の形態を説明する。
図11は、第2の実施の形態に係る画像形成装置101のソフトウェア構成を示すブロック図である。図示しないが、画像形成装置101は、デバイスドライバ群301、オペレーティングシステム302、アプリケーションプラットフォーム303を備える。また、システムアプリケーション(符号320、321、322)、追加で登録されるアプリケーション(符号323、324、325)、記憶装置300も備える。これらの構成は第1の実施の形態と同じである。
第一の認証システム304は、問い合わせ応答サービス309を備えない代わりに、第二の認証システム311に第二の認証サービスの起動要求を行なうための第二の認証サービス起動要求部(要求手段)1001を備える。第二の認証システム311は、第一の認証システム304の第二の認証サービス起動要求部1001から第二の認証サービスを起動するための要求を受信するサービス起動要求受信サービス(受信手段)1002を備える。
第二の認証サービスを起動するための要求は、第二の認証サービス群の各々についてなされ、画像形成装置101の管理者が設定できる。第二の認証サービスを起動するための要求は、管理者の指示によって任意のタイミングで送信される。あるいは、予約をしておき、次回の画像形成装置101の電源投入時に送信されるようにしてもよい。
本実施の形態でも、設定機能(UI701、UI702、プログラム703)を用いてユーザによりサービス起動設定319の設定変更を行えるように構成することと、そのような設定変更を行えないように構成することが可能である。ユーザによるサービス起動設定319の設定変更を行えない構成、行える構成が、それぞれ図12(a)、図12(b)の処理に対応する。
図12(a)は、本実施の形態において設定機能を用いない構成における第二の認証システム311の起動処理のフローチャートである。実行開始条件は図9(a)とおなじである。
まず、ステップS301では、サービス起動管理部316は、図9(a)のステップS101と同様の処理を実行する。そして、第二の認証サービスと同種類の第一の認証サービスが起動している場合は、サービス起動管理部316は、本処理を終了させる。一方、第二の認証サービスと同種類の第一の認証サービスが起動していない場合は、サービス起動管理部316は、当該認証要求アクセスに係る認証サービスと同種類の第二の認証サービスを「起動判定対象」とする。そして、サービス起動管理部316は、この「起動判定対象」についての第二の認証サービス起動要求部1001からの起動要求を、サービス起動要求受信サービス1002が受信したか否かを判別する(ステップS302)。
その判別の結果、「起動判定対象」についての起動要求が受信された場合は、サービス起動管理部316は、その起動要求に従って、「起動判定対象」の起動/停止を制御する(ステップS303)。その後、本処理を終了させる。一方、「起動判定対象」についての起動要求が受信されない場合は、サービス起動管理部316は、図9(a)のステップS105と同様に処理する。すなわち、サービス起動設定319(図6(b))の設定内容に従って、「起動判定対象」の起動/停止を制御する(ステップS304)。その後、本処理を終了させる。
このような処理により、第二の認証サービス起動要求部1001での起動要求の内容によって、「起動判定対象」の起動/停止が制御される。また、第二の認証サービス起動要求部1001での起動要求による「起動判定対象」の起動/停止の制御ができない場合でも、予め定められたサービス起動設定319(図6(b))の設定内容に従って、起動判定対象の起動/停止が制御される。よって、第一の認証システム304が、第二の認証システム311における第二の認証サービス群の利用の可否を制御することが可能となる。この点で、第1の実施の形態と同様の効果を奏することができる。
図12(b)は、本実施の形態において設定機能を用いる構成における第二の認証システム311の起動処理のフローチャートの一部である。図12(b)のステップ処理は、図12(a)のステップS302の「NO」判定とステップS304との間に挿入されて実行される。図12(b)の処理内容は、ステップS201〜S203と同じである。
このように、図12(b)の処理を設けることにより、第二の認証サービス起動要求部1001での起動要求による「起動判定対象」の起動/停止の制御ができない場合にも対応できる。すなわち、ユーザは、第一の認証サービスの認証成功後に使用が可能となる設定機能を用いて、第二の認証サービスを起動してよいか否かの設定を行える。よって、利便性を確保しつつ、匿名のユーザによる不適切利用を防止し、セキュリティを確保することができる。この点で、第1の実施の形態と同様の効果を奏することができる。
なお、画像形成装置101は、第一の認証システム304及び第二の認証システム311を含む3つ以上の認証システムを備えていてもよい。また、変形例として、第一の認証システム304と第二の認証システム311とを、上記各実施の形態におけるものと逆の立場として構成することも可能である。そして、第二の認証システム311が第一の認証システム304における第一の認証サービス群の利用の可否を制御できるように構成してもよい。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。