認証方法、情報処理装置、及びコンピュータプログラム
【課題】 認証システムで認証されたユーザに係るユーザ認証情報の中のユーザ名情報を印刷データに付加できるようにする。
【解決手段】 情報処理装置100は、認証サーバ302から送信されたユーザ認証情報に含まれるユーザ名情報を取得する。そして、取得したユーザ名情報を、プリンタドライバ202が参照できる記憶領域に、プリンタドライバ202が参照できる予め定められたフォーマットに従って記述して記憶する。プリンタドライバ202は、当該記憶領域にユーザ名情報が記憶されており、且つ、当該ユーザ名情報が当該フォーマットに記述されている条件に合致した場合に、当該ユーザ名情報を印刷データに付加してプリンタ装置150に送信する。
【解決手段】 情報処理装置100は、認証サーバ302から送信されたユーザ認証情報に含まれるユーザ名情報を取得する。そして、取得したユーザ名情報を、プリンタドライバ202が参照できる記憶領域に、プリンタドライバ202が参照できる予め定められたフォーマットに従って記述して記憶する。プリンタドライバ202は、当該記憶領域にユーザ名情報が記憶されており、且つ、当該ユーザ名情報が当該フォーマットに記述されている条件に合致した場合に、当該ユーザ名情報を印刷データに付加してプリンタ装置150に送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証方法、情報処理装置、及びコンピュータプログラムに関し、特に、ユーザ情報を印刷データに付加するために用いて好適なものである。
【背景技術】
【0002】
近年、セキュリティやコストを管理するために、印刷を行ったユーザを管理するシステムが望まれている。このような要望に対して、ユーザのログイン名やコンピュータ名等、ユーザを特定するユーザ名情報を印刷時に取得して印刷データに付加し、このユーザ名情報を用いてユーザを管理することが行われている。具体的に説明すると、例えば、ユーザ名情報を印刷過程で抽出してユーザの管理を行ったり、プリンタ装置の操作部でユーザ名やパスワードを入力して、これが印刷データに付加されたユーザ名情報と一致する場合に印刷を実行したりする。
【0003】
しかしながら、印刷を実行するに際し、ICカード等を使った認証システムが併用されるようになると、プリンタドライバがUI設定やOS等から自動で取得できるシステムのログイン名やコンピュータ名以外のユーザ名情報で印刷管理をすることが望まれる。これを実現するためには、プリンタドライバでICカード等に記載された情報からユーザ名情報を抽出し、そのユーザ名情報を印刷データに付加する必要がある。しかしながら、ICカード等に適用される情報フォーマットは、認証システム毎に異なっている。このため、ユーザ認証情報から、ユーザの識別のために使用するユーザ情報を抽出するためには、認証システム毎にプリンタドライバを提供する必要があった。また、認証システムにより認証されたユーザ名情報のみをプリンタドライバに取り込むべきであるが、認証されたユーザ名情報をプリンタドライバが取得することは困難だった。
【0004】
印刷を行う際のユーザの管理に関する技術として特許文献1に記載の技術がある。特許文献1に記載の技術では、まず、ユーザの操作により、プリンタドライバUIに「ユーザ名」、「グループ名」及び「パスワード」を設定し、それらの情報を印刷データと共にプリンタ装置に送出する。そして、印刷データと共に送出された情報が、プリンタ装置に登録してある情報と一致する場合に印刷を実行する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平10−207661号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載の技術のように、ユーザがプリンタドライバUIへユーザ名情報を入力する方法では、認証システムによる認証が為されていない情報を設定することが可能となってしまう。また、ユーザのログイン名やコンピュータ名をOSから取得してユーザ名情報とすることも可能であるが、ICカード等の認証システムで認証するユーザ名情報と、OSから取得したログイン名やコンピュータ名とが一致しているとは限らない。
以上のことから、プリンタドライバを変更すること無しに、プリンタドライバが認証システムで認証されたユーザに係るユーザ認証情報の中のユーザ名情報を取得し、印刷データにそのユーザ名情報を付加できるプリンティングシステムを構築する必要がある。
そこで、本発明は、情報処理装置を制御するオペレーティングシステムに対応した認証システムとは別の認証システムにおいて用いられる認証情報を用いて形成されたユーザ情報を、プリンタドライバで印刷データに付加できるようにすることを目的とする。
【課題を解決するための手段】
【0007】
本発明の認証方法は、情報処理装置における認証方法であって、前記情報処理装置を制御するオペレーティングシステムに対応した認証システムとは別の認証システムにおいて用いられる認証情報を取得する取得工程と、印刷データの生成をプリンタドライバにより行う生成工程と、前記プリンタドライバの制御の下で、前記取得工程において取得された認証情報を用いて形成されたユーザ情報を、前記生成工程において生成された印刷データに対して付加して送信する送信工程と、を有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、情報処理装置を制御するオペレーティングシステムに対応した認証システムとは別の認証システムにおいて用いられる認証情報を用いて形成されたユーザ情報を、プリンタドライバで印刷データに付加することができる。
【図面の簡単な説明】
【0009】
【図1】印刷システムを構成する装置のハードウェアの構成を示す図である。
【図2】情報処理装置における印刷処理に係るソフトウェアの構成を示す図である。
【図3】ユーザ認証を行う際の基本的な処理を説明する図である。
【図4】プリンタドライバのUIを示す図である。
【図5】印刷システムにおける認証動作及び印刷動作を説明する図である。
【図6】ユーザ認証情報からユーザ名情報を取得する仕組みを説明する図である。
【図7】認証処理を説明するフローチャートである。
【図8】ユーザ情報変換処理を説明するフローチャートである。
【図9】ユーザ名情報決定処理を説明するフローチャートである。
【図10】印刷データの登録と印刷を説明するフローチャートである。
【図11】ユーザ名情報のポップアップUI表示処理を説明するフローチャートである。
【図12】ユーザ名情報のポップアップUI表示例を示す図である。
【図13】ユーザ名情報の信頼性情報作成処理を説明するフローチャートである。
【発明を実施するための形態】
【0010】
(第1の実施形態)
以下、本発明の第1の実施形態について図面を用いて説明する。
図1は、印刷システムを構成する装置のハードウェアの構成の一例を示す図である。具体的に図1(a)は、情報処理装置のハードウェアの構成の一例を示す図であり、図1(b)は、プリンタ装置(印刷装置)のハードウェアの構成の一例を示す図である。尚、印刷システムは、情報処理装置及びプリンタ装置に加え、認証サーバとプリントサーバを有するが、認証サーバとプリントサーバのハードウェアの構成は、図1(a)に示したもので実現できるので、その詳細な説明を省略する。
【0011】
図1において、情報処理装置100と、プリンタ装置150は、双方向性インタフェース(LAN、インターネット、通信ケーブル等)を介して相互に通信可能に接続されている。また、情報処理装置100と、認証サーバ及びプリントサーバも、双方向性インタフェース(LAN、インターネット、通信ケーブル等)を介して相互に通信可能に接続されている。
情報処理装置100は、外部メモリ111に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行するCPU101を備えている。CPU101はシステムバス104に接続されている各デバイスを総括的に制御する。
【0012】
外部メモリ111は、CPU101の制御プログラムであるオペレーティングシステムプログラム(OS)、ブートプログラム、各種のアプリケーションプログラム、及びプリンタ制御コマンド生成プログラム(プリンタドライバ)を記憶している。また、外部メモリ111は、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(プリンタドライバ)等も記憶している。
【0013】
RAM102は、CPU101の主メモリ、ワークエリア等として機能する。
キーボードコントローラ(KBC)105は、キーボード109や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)106は、CRTディスプレイ(CRT)110の表示を制御する。ディスクコントローラ(DKC)107は、ハードディスクドライブ(HDD)、フレキシブルディスク(FDD)等の外部メモリ111のアクセスを制御する。プリンタコントローラ(PRTC)108は、双方向性インタフェースを介して、外部装置(プリンタ装置150、認証サーバ、プリントサーバ)に接続され、外部装置との通信制御処理を実行する。
【0014】
尚、CPU101は、例えばRAM102に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT110でのWYSIWYGを可能としている。また、CPU101は、CRT110に表示される不図示のマウスカーソル等で指示されたコマンドに基づいて、予め登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理パラメータの設定を行うことができる。
【0015】
プリンタ装置150は、CPU151による印刷制御に従って印刷される。CPU151は、ROM153に記憶された制御プログラム等、或いは外部メモリ160に記憶された制御プログラム等に基づいて、システムバス154に接続される印刷部(プリンタエンジン)158に出力情報としての画像信号を出力する。また、ROM153には、CPU151の制御プログラム等が記憶される。ROM153のフォント用ROMには、前記出力情報の生成時に使用されるフォントデータ等が記憶される。また、ハードディスク等の外部メモリ160がないプリンタ装置の場合、ROM153のデータ用ROMには、情報処理装置100で利用される情報等が記憶される。
【0016】
CPU151は、入力部155を介して情報処理装置100との通信処理が可能となっており、プリンタ装置150内の情報等を情報処理装置100に通知できる。RAM152は、CPU151の主メモリや、ワークエリア等として機能するRAMであり、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。尚、RAM152は、出力情報展開領域、環境データ格納領域、及びNVRAM等として用いられる。ハードディスクドライブ(HDD)、ICカード等で構成される外部メモリ160へのアクセスは、メモリコントローラ(MC)157により制御される。外部メモリ160は、前述の制御プログラムに加え、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、操作パネル159には、プリンタ装置150の操作のためのスイッチ及びLED表示器等が配されている。
【0017】
尚、前述した外部メモリ160は1個に限らず、複数個備えられ、内蔵フォントに加えて、オプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、プリンタ装置150は、図示しないNVRAMを有し、操作パネル159から入力されたプリンタモード設定情報をNVRAMに記憶するようにしてもよい。
【0018】
図2は、情報処理装置100における印刷処理に係るソフトウェアの構成の一例を示す図である。
図2において、画像生成アプリケーション200は、印刷原稿を生成する機能を備える。画像生成アプリケーション200は、プリンタ装置に対して印刷を行う際、グラフィックエンジン201を利用して、画像データをプリンタドライバ202に出力する。
グラフィックエンジン201は、画像生成アプリケーション200から出力された画像データをプリンタドライバ202に中継する機能を備える。尚、Windows(登録商標)OSでは、グラフィックエンジン201は、GDIと呼ばれるOSの描画手段に相当する。
【0019】
プリンタドライバ202は、グラフィックエンジン201から受け取った画像データからプリンタ装置150が認識可能な制御コマンドで構成される印刷データを生成して、システムスプーラ203に出力する機能を備える。
システムスプーラ203は、プリンタドライバ202により生成された印刷データを、双方向インタフェースを介してプリンタ装置150に出力する機能を備える。
これらのソフトウェアは、情報処理装置100の外部メモリ111に保管されていて、ソフトウェア起動時にRAM102にロードされてCPU101により実行される。
【0020】
図3は、ユーザ認証を行う際の基本的な処理の一例を説明する図である。
ここでは、ユーザの情報処理装置100と、認証サーバ302とが、ICカードを使ってユーザ認証のための処理を行う基本的なシステムを例に挙げて説明する。
まず、ユーザが自分のICカードをICカードリーダ301に挿入して、情報処理装置100にパスワードを入力する。情報処理装置100は、ICカードリーダ301で読み取られたICカード情報と、ユーザが情報処理装置100に入力したパスワードとを、ネットワーク等の双方向インタフェースを経由して認証サーバ302に送信し、ユーザの認証を依頼する。認証サーバ302は、情報処理装置100から送信されたICカード情報及びパスワードと、認証サーバ302で管理している情報とからユーザ認証を行い、そのユーザ認証の結果とユーザ認証情報とを情報処理装置100に返信する。認証の結果がOKだった場合、ユーザ認証情報に記載された情報に従い、ユーザによるシステムの利用が許可される。このユーザ認証情報には、ICカードのユーザが使用して良いアプリケーションの種類等の権限情報と共にユーザを識別するユーザ名情報等が含まれる。一方、認証の結果がNGだった場合には、ユーザにはシステムの利用が許可されない。
【0021】
図4は、プリンタドライバ202のUIの一例を示す図である。具体的に図4は、印刷データと共にプリンタ装置150に送出する「ユーザ名情報」の設定画面(「ユーザ名の設定」UI)である。このユーザ名情報を、プリンタ装置150、又は途中のプリンタサーバ等で抽出することにより、印刷を行うユーザの管理が可能となる。
「ユーザ名の設定」UI400では、どのような情報をユーザ名情報として印刷データと共に送出するかを設定する。ユーザ名情報の種類として、「ログオン名」401、「コンピュータ名」402、「名称指定」403が用意されており、ユーザは、どれか1つを選択することになる。
【0022】
「ログオン名」401が選択された場合には、印刷を行うユーザのログイン名をシステムから取得してユーザ名情報とする。「コンピュータ名」402が選択された場合には、ユーザが使用している情報処理装置100に登録されているコンピュータ名をシステムから取得してユーザ名情報とする。「名称指定」403が選択された場合には、全角16文字以内の任意の文字入力が可能となり、その入力された文字列をユーザ名情報とする。このような「ユーザ名の設定」UI400での設定に従って、印刷データの生成時にユーザ名情報を取得し、予め定めたユーザ名情報設定コマンドのパラメータとしてプリンタ装置150に出力することになる。また、「ユーザ名の設定」UI400で「ユーザ名の変更を許可しない」404のチェックボックスがONとなっている場合、ユーザ名として設定する名称を変更できる者は、プリンタ装置150に対する管理者権限を有する者に限定される。
「ユーザ名の設定」UI400で、以上のような設定がされている場合、プリンタドライバ202は、生成した印刷データの中に、設定されたユーザ名情報を含ませることができる。このユーザ名情報は、プリンタ装置150、又はプリンタ装置150に届くまでの過程(プリントサーバ等)で抽出され、印刷するユーザの管理が行われる。
【0023】
図3、図4を使って説明したようにすると、認証システム(認証サーバ302)で使用するユーザ認証情報とプリンタドライバ202が印刷データに挿入するユーザ名情報とが全く連携できていないことになる。
【0024】
そこで、本実施形態では、以下のようにして、ユーザ認証情報とユーザ名情報とを連携させるようにしている。
図5は、印刷システムにおける認証動作及び印刷動作の一例を説明する図である。
情報処理装置100に接続されたICカードリーダ301にICカードが挿入されると、情報処理装置100の外部メモリ111に記憶されている認証プログラム501が動作する。認証プログラム501は、パスワード入力制御部502により入力されたパスワードと、ICカードから読み取られたICカード情報とを、認証サーバ302に送信するための処理を実行する。認証サーバ302は、情報処理装置100から送信されたICカード情報及びパスワードと、認証サーバ302で管理する情報とからユーザ認証を行い、そのユーザ認証の結果と、認証されたユーザに係るユーザ認証情報とを情報処理装置100に返信する。認証サーバ302から返信されたユーザ認証の結果とユーザ認証情報は、認証プログラム501のユーザ認証情報管理部503で管理される。尚、認証サーバ302より、ユーザ認証の結果のみが情報処理装置100に送信される場合、認証プログラム501は、ICカード情報からユーザ名情報を抽出し、抽出したユーザ名情報をユーザ認証情報管理部503で管理しても構わない。
【0025】
ユーザ認証情報管理部503で管理されているユーザ認証情報をプリンタドライバ202で参照できるように、情報のフォーマットを変換するのが、ユーザ認証情報変換処理部504である。ユーザ認証情報変換処理部504は、ユーザ認証情報管理部503で管理されるユーザ認証情報からユーザ名情報を抽出し、このユーザ名情報に基づいて、プリンタドライバ202で参照可能なユーザ名情報505を生成する。ユーザ名情報505のフォーマットは、予めプリンタドライバ202で決定されているものである。ユーザ名情報505を生成するに際し、ユーザ名情報に合わせてユーザ名情報の有効条件等があっても構わない。ユーザ認証情報管理部503で管理されるユーザ認証情報が、プリンタドライバ202で参照できるユーザ名情報505と同一のフォーマットのものである場合には、ユーザ認証情報変換処理部504の処理は不要となる。
【0026】
プリンタドライバ202の印刷データ処理部506は、ユーザ認証情報変換処理部504により生成されたユーザ名情報505と、プリンタドライバ202の「ユーザ名の設定」UI400で設定されたユーザ名情報510の中から使用するユーザ名情報を決定する。そして、印刷データ処理部506は、ユーザ名情報を付加した印刷データを生成する。このユーザ名情報を付加した印刷データはプリントサーバ507に送信され、プリントサーバ507のユーザ管理処理部508で印刷データからユーザ名情報を抽出して、印刷の実行を指示したユーザの管理を行う。印刷を実行する場合には、プリントサーバ507よりプリンタ装置150に印刷データが転送され、この印刷データに基づいてプリンタ装置150で印刷が実行される。プリントサーバ507でユーザ管理を行うのは一例であり、プリンタ装置150にもICカードリーダを備え、ユーザの提示したICカード内のユーザ名情報と印刷データに付加されたユーザ名情報とが一致する場合に印刷を実行するシステムとしても構わない。また、ユーザの提示したICカード内のユーザ名情報と印刷データに付加されたユーザ名情報とが一致しない場合には、そのことに係る警告メッセージを表示してユーザに報知し、印刷を中断又は中止するようにしても構わない。
【0027】
図6は、プリンタドライバ202が、認証サーバ302で決定されたユーザ認証情報から、印刷データに付加するユーザ名情報を取得する仕組みを説明する図である。
ユーザ認証情報管理部503で管理されているユーザ認証情報604は、前述したユーザ認証情報変換処理部504により、ユーザ情報フォーマット601に示すようなプリンタドライバ202で予め定めたフォーマットに変換される。ユーザ認証情報変換処理部504は、プリンタドライバ202を構成する一部として提供されても良いが、様々な認証システムとの連携を実現するために、プリンタドライバ202と組み合わせる認証システム毎に提供されても良い。また、プリンタドライバ202と組み合わせる認証システムが、プリンタドライバ202で予め定めたユーザ情報フォーマット601でユーザ名情報505を直接作成できる場合には、このユーザ認証情報変換処理部504の処理は不要となる。以上が、プリンタドライバ202の認証情報の一例であるユーザ認証情報604を取得する処理である。この取得された情報に応じて、ユーザ情報の一例であるユーザ名情報505が形成される。もちろん、ユーザ認証情報604と、ユーザ名情報505が同一又は実質的に同一の場合も考えられる。
【0028】
プリンタドライバ202は、印刷データに付加するユーザ名情報を決定する際に、予め定めたユーザ情報格納先情報保持部602を参照する。ここに、ユーザ名情報505の格納先のファイル名(パス+ファイル名)やOSが管理しているレジストリ領域名が記載されている場合、プリンタドライバ202は、その所定の場所を参照してユーザ名情報505を取得する。印刷データに含めるユーザ名情報を決定する処理については後述する。ユーザ情報フォーマット601は、予めプリンタドライバ202側で定めたものとする。これによりプリンタドライバ202で正しくユーザ名情報505を参照することが可能となる。ユーザ情報フォーマット601は、ユーザ認証情報内のユーザ名情報に対応するユーザ名称文字列に加え、有効性のチェック方法(有効条件種類)及びチェック用データ(有効条件)で構成されている。
【0029】
有効条件種類として「0」が記載されていれば、ユーザ名情報の有効性のチェックは行わない(有効チェック無し)。有効条件種類として「1」が記載されていれば、ログイン時間と、有効条件として記載されているユーザ情報認証時間とを比較し、ログイン後の認証と判断された場合にのみユーザ名情報を有効とする(ログインチェック)。有効条件種類として「2」が記載されている場合には、現在の時刻と、有効条件として記載されている時刻とを比較し、現在の時刻が、記載されている時刻よりも前の場合にのみユーザ名情報を有効とする(有効期限チェック)。有効条件種類として「3」が記載されている場合には、プリンタドライバ202やOSからユーザのログイン名を取得し、取得したログイン名が、有効条件として記載されているログイン名と一致する場合にのみユーザ名情報を有効とする(ログイン名チェック)。ここでは、ユーザ名称文字列に合わせて、ユーザ情報フォーマット601が、ユーザ名情報の有効性のチェック方法を特定するものであるとしている。すなわち、本実施形態では、ユーザ名情報には、ユーザ名情報が有効であるための条件に係る情報の一例として、有効条件種類及び有効条件が含まれている。しかしながら、プリンタドライバ202で参照することができ、ユーザ名情報を特定できるのであればユーザ情報フォーマット601はどのようなフォーマットでも構わない。尚、ユーザ情報格納先情報保持部602、及びそこに示されているパス+ファイル名やレジストリ領域名は、プリンタドライバ202から参照可能である必要がある。
【0030】
[処理の説明]
次に、図7〜図9のフローチャートを参照しながら、印刷システムの処理の一例を説明する。
まず、図7を用いて、認証サーバ302がユーザ認証を行い、そのユーザ認証の結果とユーザ認証情報とを情報処理装置100が取得する処理(認証処理)の一例を説明する。まず、情報処理装置100の認証プログラム501は、ICカードリーダ301にICカードが挿入されるまで待機する(ステップS701)。ICカードリーダ301にICカードが挿入されると、情報処理装置100の認証プログラム501(パスワード入力制御部502)は、ICカード情報をICカードリーダ301から読み取り、情報処理装置100内に格納する(ステップS702)。
【0031】
ICカード情報の取得処理が完了すると、情報処理装置100の認証プログラム501は、パスワードの入力を求めるパスワード入力画面をCRT110(情報処理装置100のディスプレイ)に表示させる(ステップS703)。そして、情報処理装置100の認証プログラム501は、パスワード入力画面にパスワードが入力され、パスワードが確定されるまで待機する(ステップS704)。パスワードが確定すると、情報処理装置100の認証プログラム501は、認証サーバ302に、ICカード情報とパスワードとを送信する処理を行う(ステップS705)。
【0032】
認証サーバ302は、情報処理装置100から取得したICカード情報及びパスワードと、認証サーバ302で管理している情報とに基づいてユーザ認証を行い、そのユーザ認証の結果とユーザ認証情報とを情報処理装置100に返信する。情報処理装置100の認証プログラム501は、ユーザ認証の結果とユーザ認証情報とが認証サーバ302から返信されるまで待機する(ステップS706)。ユーザ認証の結果とユーザ認証情報とが返信されると、情報処理装置100の認証プログラム501は、まず、ユーザ認証の結果がOKだったかどうかを判定する(ステップS707)。この判定の結果、ユーザ認証の結果がOKだった場合、情報処理装置100の認証プログラム501(ユーザ認証情報管理部503)は、返信されたユーザ認証情報を管理(記憶)する(ステップS708)。一方、ユーザ認証の結果がNGだった場合、情報処理装置100の認証プログラム501は、CRT110(情報処理装置100のディスプレイ)に、認証できなかったことを示す情報を表示させ、そのことをユーザに通知する(ステップS709)。
【0033】
次に、図8を用いて、ユーザ認証情報をプリンタドライバ202から参照可能なユーザ名情報に変換する処理(ユーザ情報変換処理)の一例を説明する。
まず、情報処理装置100のユーザ認証情報変換処理部504は、プリンタドライバ202から参照可能な予め定められた記憶領域にあるユーザ情報格納先情報保持部602に、ユーザ名情報の格納先とファイル名を記載する(ステップS801)。この格納先は、プログラム上で予め定めても良いし、設定ファイルに記載してプリンタドライバ202から参照するようにして場所を変更できるようにしても良い。本実施形態では、予め定められたプリンタドライバ202から参照可能な場所を、レジストリ領域(HKEY_LOCAL_MACHINE\SOFTWARE\ABC\JobName)とする。そして、ここにユーザ名情報の格納先である(c:\userinfo\username.dat)を記載するものとする。
【0034】
次に、ユーザ認証情報変換処理部504は、認証プログラム501のユーザ認証情報管理部503で管理されているユーザ認証情報があるか否かを判定する(ステップS802)。この判定の結果、ユーザ認証情報がない場合には、図8のフローチャートによる処理を終了する。一方、ユーザ認証情報がある場合には、ユーザ認証情報変換処理部504は、そのユーザ認証情報からユーザ名情報を抽出し、そのユーザ名情報をユーザ情報フォーマット601で示したフォーマットに変換する(ステップS803)。そして、ユーザ認証情報変換処理部504は、ユーザ名情報505を、ユーザ情報の格納先として記載された場所(c:\userinfo\)に、指定したファイル名(username.dat)で格納する(ステップS804)。
【0035】
次に、図9を用いて、プリンタドライバ202が印刷データに付加するユーザ名情報を決定する処理(ユーザ名情報決定処理)の一例を説明する。
まず、プリンタドライバ202は、ユーザ情報格納先情報保持部602(HKEY_LOCAL_MACHINE\SOFTWARE\ABC\JobName)に、ユーザ名情報の格納先が記載されているか否かを判定する(ステップS900)。この判定の結果、ユーザ名情報の格納先が記載されていない場合、プリンタドライバ202は、「ユーザ名の設定」UI400(図4を参照)で設定されている内容を参照してユーザ名情報を取得する。そして、プリンタドライバ202は、「ユーザ名の設定」UI400で「ログオン名」401が設定されているか否かを判定する(ステップS917)。この判定の結果、「ログオン名」401が設定されている場合、プリンタドライバ202は、ユーザのログイン名をOSから取得してユーザ名情報とする(ステップS918)。
【0036】
ステップS917の判定の結果、「ログオン名」401が設定されていない場合、プリンタドライバ202は、「ユーザ名の設定」UI400で「コンピュータ名」402が設定されているか否かを判定する(ステップS919)。この判定の結果、「コンピュータ名」402が設定されている場合、プリンタドライバ202は、コンピュータ名をOSから取得してユーザ名情報とする(ステップS921)。
ステップS919の判定の結果、「コンピュータ名」402が設定されていない場合、プリンタドライバ202は、「ユーザ名の設定」UI400で「名称指定」403が設定されているか否かを判定する(ステップS920)。この判定の結果、「名称指定」403が設定されている場合、プリンタドライバ202は、名称として入力されている文字列をユーザ名情報とする(ステップS922)。一方、「名称指定」403が設定されていない場合、プリンタドライバ202は、ユーザ名情報の登録がないことを示す警告メッセージをCRT110(情報処理装置100のディスプレイ)に表示させ、印刷処理を中断(又は中止)する(ステップS923)。
【0037】
ステップS900の判定の結果、ユーザ情報格納先情報保持部602に、ユーザ名情報の格納先が記載されている場合、プリンタドライバ202は、当該格納先に格納されているファイルを参照する(ステップS901)。ここでは、プリンタドライバは、c:\userinfo\username.datを参照する。これによりプリンタドライバ202は、ユーザ認証情報に含まれるユーザ名情報を取得する。次に、プリンタドライバ202は、ユーザ情報格納先情報保持部602に記載されている格納先にファイルが存在し、且つ、そのファイルのファイルフォーマットが予め定めたものと一致しているか否かを判定する(ステップS902)。この判定の結果、ファイルが存在しない、又はファイルフォーマットが正しくない場合、プリンタドライバ202は、ステップS901で得たユーザ名情報を無効とする。そして、前述したステップS917に進み、「ユーザ名の設定」UI400の設定に従ってユーザ名情報を決定する。
【0038】
ステップS902の判定の結果、ファイルが存在し、且つ、ファイルフォーマットも正しい場合、プリンタドライバ202は、ユーザ情報フォーマット601に従って、ステップS901で得たユーザ名情報から有効条件種類を参照する。そして、プリンタドライバ202は、ステップS901で得たユーザ名情報の有効条件種類として「0」が記載されている否かを判定する(ステップS903)。この判定の結果、有効条件種類として「0」が記載されている場合、プリンタドライバ202は、ユーザ名情報の有効条件のチェックを行わない。すなわち、プリンタドライバ202は、ステップS901で得たユーザ名情報からユーザ名文字列を抽出して印刷データに付加するユーザ名情報とする(ステップS904)。
【0039】
ステップS903の判定の結果、有効条件種類として「0」が記載されていない場合、プリンタドライバ202は、ステップS901で得たユーザ名情報の有効条件種類として「1」が記載されているか否かを判定する(ステップS905)。この判定の結果、有効条件種類として「1」が記載されている場合、プリンタドライバ202は、ステップS901で得たユーザ名情報に有効条件として記載されている認証時刻と、OSから取得したユーザのログイン時刻とを比較する(ステップS906)。そして、プリンタドライバ202は、ユーザ名情報に有効条件として記載されている認証時刻(認証時)よりもログイン時間(ログイン時)の方が前であるか否かを判定する(ステップS907)。この判定の結果、認証時刻よりもログイン時間の方が前である場合、プリンタドライバ202は、ログイン後に正しく認証が行われたものとして、ユーザ名情報からユーザ名文字列を抽出して印刷データに付加するユーザ名情報とする(ステップS904)。
【0040】
一方、ステップS907の判定の結果、認証時刻に対しログイン情報が後である場合、プリンタドライバ202は、警告メッセージをCRT110(情報処理装置100のディスプレイ)に表示させ、印刷処理を中断(又は中止)する(ステップS908)。警告メッセージは、例えば、「設定されているユーザ情報が有効でありません。印刷を中止します」と記載されたダイアログである。
ステップS905の判定の結果、有効条件種類として「1」が記載されていない場合、プリンタドライバ202は、ステップS901で得たユーザ名情報の有効条件種類として「2」が記載されているか否かを判定する(ステップS909)。この判定の結果、有効条件種類として「2」が記載されている場合、プリンタドライバ202は、ステップS901で得たユーザ名情報に有効条件として記載されている有効期限と、OSから取得した現在の時刻とを比較する(ステップS910)。そして、プリンタドライバ202は、現在の時刻が、ユーザ名情報に有効条件として記載されている有効期限内であるか否かを判定する(ステップS911)。この判定の結果、現在の時刻が有効期限内である場合、プリンタドライバ202は、ステップS901で得たユーザ名情報からユーザ名文字列を抽出し、印刷データに付加するユーザ名情報とする(ステップS912)。
【0041】
ステップS911の判定の結果、現在の時刻が有効期限外である場合、プリンタドライバ202は、前述したような警告メッセージをユーザに示し、印刷処理を中断(又は中止)する(ステップS908)。
ステップS909の判定の結果、有効条件種類として「2」が記載されていない場合、プリンタドライバ202は、ステップS901で得たユーザ名情報の有効条件種類として「3」が記載されているか否かを判定する(ステップS913)。この判定の結果、有効条件種類として「3」が記載されている場合、プリンタドライバ202は、ステップS901で得たユーザ名情報に有効条件として記載されているログイン名と、OSから取得したユーザのログイン名とを比較する(ステップS914)。そして、プリンタドライバ202は、ユーザ名情報に有効条件として記載されているログイン名と、OSから取得したユーザのログイン名とが一致するか否かを判定する(ステップS915)。この判定の結果、ログイン名が一致する場合、プリンタドライバ202は、ステップS901で得たユーザ名情報からユーザ名文字列を抽出し、印刷データに付加するユーザ名情報とする(ステップS912)。
【0042】
ステップS913の判定の結果、有効条件種類として「3」が記載されていない場合(有効条件種類として0〜3以外が指定されている場合)、又は、ステップS915の判定の結果、ログイン名が一致しない場合には、ステップS916に進む。そして、プリンタドライバ202は、プリンタドライバ202は、前述したような警告メッセージをCRT110(情報処理装置100のディスプレイ)に表示させ、印刷処理を中断(又は中止)する(ステップS916)。
以上のようにして決定した印刷データに付加するユーザ名情報を、ユーザ名を指定するコマンド(本実施形態ではid_att_job_owner_name)のパラメータとして記載し、プリンタドライバ202からプリンタ装置150へ出力するものとする。
【0043】
次に、図10を用いて、プリンタ装置150に送信された印刷データを印刷する制御について説明する。
前述したように、ユーザ名情報が付加された印刷データがプリンタドライバ202から送信されてくる(ステップS1000)と、プリンタ装置150では印刷データとユーザ名情報とを分離する(ステップS1001)。分離された印刷データは、画像を形成するための画像データに変換され、分離されたユーザ名情報と関連付けて外部メモリ160に保存される(ステップS1002)。
プリンタ装置150は、プリンタ装置150に設けられた操作パネル159、または図示していない、プリンタ装置150に接続された文字入力装置、またはICカードリーダ等により文字情報が入力されるまで待機する(ステップS1003)。
【0044】
文字情報が入力されると、プリンタ装置150は、その文字情報と一致するユーザ名情報の画像データが外部メモリ160に保存されているか否かを確認する(ステップS1004)。この確認の結果、一致する画像データが無い場合、プリンタ装置150は、一致する画像データがないことを知らせるメッセージを操作パネル159に表示(ステップS1005)して、ユーザ名情報の入力待ち状態となる。一方、一致する画像データがある場合(画像データが保存されている場合)、プリンタ装置150は、保存された順番にその画像データを印字部158に転送して印刷を実行する(ステップS1006)。
【0045】
本実施形態では、印刷が完了した画像データは外部メモリ160から消去するものとする(ステップS1007)。そして、印刷する画像データがなくなる(ステップS1008)と、印刷処理を終了する。尚、ステップS1003において入力された文字情報と保存されているユーザ名情報とが一致する場合に、そのユーザ名情報に対応する画像データ一の覧を操作パネル159に表示して、印刷する画像データをユーザが選択するようにしても構わない。また、印刷完了時に外部メモリ160に保存した画像データを消去するかどうかを選択する画面を操作パネル159に行い、画像データを消去することが選択された場合のみ消去するようにしても構わない。また、印刷データにユーザ名情報が付加されていない場合には、そのまま印刷を実行しても印刷を行わないようにしても構わない。
このように、ユーザ名情報を入力させて保存している画像データの中で一致するものだけを印刷できるようにすることで、印刷物が放置されていたり、他の人が間違って印刷物を持っていってしまったりすることを回避することが可能となる。
【0046】
以上のように本実施形態では、情報処理装置100は、認証サーバ302から送信されたユーザ認証情報に含まれるユーザ名情報を取得する。そして、取得したユーザ名情報を、プリンタドライバ202が参照できる記憶領域に、プリンタドライバ202が参照できる予め定められたフォーマットに従って記述して記憶する。プリンタドライバ202は、当該記憶領域にユーザ名情報が記憶されており、且つ、当該ユーザ名情報が当該フォーマットに記述されている条件に合致した場合に、当該ユーザ名情報を印刷データに付加してプリンタ装置150に送信する。したがって、ICカード等のユーザ認証システムから取得されるユーザ認証情報に含まれるユーザ名情報を印刷データと共に送出することを可能となる。よって、ユーザ認証システムで認証されたユーザ認証情報を使ったユーザ管理や印刷管理を行うシステムの構築が可能となる。
また、本実施形態では、プリンタドライバ202が参照できる記憶領域にユーザ名情報が記憶されていない場合、又は、当該ユーザ名情報がフォーマットに記述されている条件に合致しない場合、UIで指定されたユーザ名情報を印刷データに付加するようにした。したがって、ユーザ名情報が印刷データに付加されなくなることを可及的に防止することができる。
【0047】
尚、ユーザ名情報と共に、当該ユーザ名情報の有効性の判定に使用した有効条件種類と有効条件も印刷データに付加することにより、プリンタ装置150等での印刷実行時等に再度ユーザ名情報の有効性を確認できるようにしても構わない。
また、ユーザ認証情報から得られたユーザ名情報が有効条件に合致していない場合(例えばステップS905、S909、又はステップS913でNoと判定された場合)に、「ユーザ名の設定」UI400の設定に従ってユーザ名情報を決定しても構わない。さらに、ユーザ情報格納先情報保持部602に記載されている格納先に存在するファイルフォーマットが予め定めたものと一致していない場合には、その旨に係る警告メッセージを表示して、印刷処理を中断(又は中止)してもよい。
【0048】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。本実施形態は、第1の実施形態に対し、プリンタドライバ202が、ユーザ名情報を決定した後(図9)、決定したユーザ名情報を印刷データに付加する前に、印刷データに付加するユーザ名情報を、ポップアップUIでユーザに通知する機能を追加したものである。したがって、本実施形態の説明において、第1の実施形態と同一の部分については、図1〜図10に付した符号と同一の符号を付す等して詳細な説明を省略する。
【0049】
図11は、印刷データに付加するユーザ名情報をポップアップ表示する処理(ポップアップUI表示処理)の一例を説明するフローチャートである。また、図12は、ポップアップUIの表示例を示す図である。本実施形態では、図11のフローチャートは、図9に示したフローチャートに従って、印刷データに付加するユーザ名情報が決定されてから、当該ユーザ名情報を印刷データに付加する前に実行されるものとする。
まず、プリンタドライバ202は、印刷データに付加するユーザ名情報が、ICカード等のユーザ認証システムから取得されたユーザ名情報であるか否かを判定する(ステップS1100)。この判定の結果、印刷データに付加するユーザ名情報が、ユーザ認証システムから取得されたユーザ名情報である場合、プリンタドライバ202は、当該ユーザ名情報を特定の文字に置き換えて情報処理装置100のディスプレイに表示する(ステップS1101)。図12(a)は、印刷データに付加するユーザ名情報が、ユーザ認証システムから取得されたユーザ名情報である場合のユーザ名情報のホップアップUIの表示例を示す図である。図12(a)に示すように、本実施形態では、ユーザ名情報を"*"という文字に置き換えている場合を例に挙げて示しているが、置き換える文字は、"ユーザ認証システムのユーザ名"等、その他の文字列であっても構わない。
【0050】
一方、印刷データに付加するユーザ名情報が、ユーザ認証システムから取得されたユーザ名情報でなく、図4で示した「ログオン名」401、「コンピュータ名」402、または「名称指定」403で設定されたユーザ名情報である場合には、次の処理を行う。すなわち、プリンタドライバ202は、当該ユーザ名情報を、情報処理装置100のディスプレイにそのまま表示する(ステップS1102)。図12(b)は、印刷データに付加するユーザ名情報が、「ユーザ名の設定」UIで設定されたユーザ名情報である場合のユーザ名情報のホップアップUIの表示例を示す図である。
以上のようにユーザ名情報の取得先によりポップアップUIの表示方法を変えている理由は、ユーザ認証システムで使用しているユーザ識別情報をユーザに開示すべきでない場合があるからである。
尚、本実施形態では、外部から与えられたユーザ名情報のみを特定文字(図12(a)に示した例では"*")に置き換えて認証に使用するユーザ名情報をユーザに開示しないようにした。しかしながら、OSから取得される「ログオン名」401、「コンピュータ名」402についても、特定文字に置き換えて表示する等、特定の文字に置き換えるユーザの情報の決定を選択的に行えるようにしても構わない。また、図12(a)、図12(b)に示したポップアップUI上でユーザ名情報の変更を許可するかどうかは図4で示した「ユーザ名の変更を許可しない」404の設定に応じて行う。ただし、この設定に関係無くICカード等のユーザ認証システムから取得されるユーザ名情報である場合には、ポップアップUI上でのユーザ名情報の変更を常に不可とするようにしても構わない。
【0051】
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。第1、第2の実施形態では、印刷データに付加するユーザ名情報をid_att_job_owner_nameというコマンドのパラメータとして通知するものとしている。このような情報が無い場合には、例えば、同じ「abcde」というユーザ名情報であっても、その信頼性を判別することができないからである。これに対し、本実施形態では、プリンタドライバ202が、ユーザ名情報だけでなく、当該ユーザ名情報の入手先(取得先)を特定できる情報や、当該ユーザ名情報の信頼性を示す情報を印刷データに付加する機能を有するようにしている。したがって、本実施形態の説明において、第1、第2の実施形態と同一の部分については、図1〜図12に付した符号と同一の符号を付す等して詳細な説明を省略する。
【0052】
図13は、ユーザ名情報に応じて当該ユーザ名情報の信頼性を示す信頼性情報を作成する処理(信頼性情報作成処理)の一例を説明するフローチャートである。
プリンタドライバ202は、ICカード等のユーザ認証システムから取得されたユーザ名情報を変更せずにそのままユーザ名情報として、印刷データに付加して送信するか否かを判定する(ステップS1300)。この判定の結果、ユーザ認証システムから取得されたユーザ名情報をそのままユーザ名情報として印刷データに付加する場合には(ユーザ名情報がユーザ認証システムから取得された情報である場合には)、次の処理を行う。すなわち、プリンタドライバ202は、当該ユーザ名情報の信頼性が高いものであるとして信頼性情報を"high"とする(ステップS1301)。
【0053】
一方、ユーザ認証システムから取得されたユーザ名情報をそのままユーザ名情報として印刷データに付加しない場合には、次の処理を行う。すなわち、プリンタドライバ202は、図4に示した「ログオン名」401、「コンピュータ名」402のように、OSから取得された情報を変更せずにそのままユーザ名情報として印刷データに付加して送信するか否かを判定する(ステップS1302)。この判定の結果、OSから取得されたユーザ名情報をそのままユーザ名情報として印刷データに付加する場合には(ユーザ名情報がOSから取得された情報である場合には)、次の処理を行う。すなわち、プリンタドライバ202は、当該ユーザ名情報の信頼性が中程度であるとして信頼性情報を"middle"とする(ステップS1303)。
【0054】
一方、OSから取得されたユーザ名情報をそのままユーザ名情報として印刷データに付加しない場合、プリンタドライバ202は、ユーザ名情報の信頼性が低いものであるとして信頼性情報を"low"とする(ステップS1304)。ステップS1304の処理が行われる場合は、例えば、印刷データに付加するユーザ名情報が、図4に示した「名称指定」403等で設定されたユーザ名情報、又は図12に示したポップアップUI上等でユーザにより変更されたユーザ名情報の場合である。
以上のようにして信頼性情報を決定すると、プリンタドライバ202は、決定した信頼性情報とユーザ名情報とを合わせて印刷データに付加する。そして、情報処理装置100は、信頼性情報とユーザ名情報とが付加された印刷データを、プリントサーバ507に送信する(ステップS1305)。
【0055】
また、ユーザ名情報の入手先(取得先)を特定できる情報を印刷データに付加する場合には、次の処理が行われる。すなわち、プリンタドライバ202は、例えば、ユーザ名情報の入手先が、ユーザ認証システム、OS、及びそれ以外の何れであるかを判定し、判定した入手先を示す情報をユーザ情報取得先情報の一例として、当該ユーザ名情報と合わせて印刷データに付加する。
【0056】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【0057】
(その他の実施例)
本発明は、以下の処理を実行することによっても実現される。即ち、まず、以上の実施形態の機能を実現するソフトウェア(コンピュータプログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)が当該コンピュータプログラムを読み出して実行する。
【技術分野】
【0001】
本発明は、認証方法、情報処理装置、及びコンピュータプログラムに関し、特に、ユーザ情報を印刷データに付加するために用いて好適なものである。
【背景技術】
【0002】
近年、セキュリティやコストを管理するために、印刷を行ったユーザを管理するシステムが望まれている。このような要望に対して、ユーザのログイン名やコンピュータ名等、ユーザを特定するユーザ名情報を印刷時に取得して印刷データに付加し、このユーザ名情報を用いてユーザを管理することが行われている。具体的に説明すると、例えば、ユーザ名情報を印刷過程で抽出してユーザの管理を行ったり、プリンタ装置の操作部でユーザ名やパスワードを入力して、これが印刷データに付加されたユーザ名情報と一致する場合に印刷を実行したりする。
【0003】
しかしながら、印刷を実行するに際し、ICカード等を使った認証システムが併用されるようになると、プリンタドライバがUI設定やOS等から自動で取得できるシステムのログイン名やコンピュータ名以外のユーザ名情報で印刷管理をすることが望まれる。これを実現するためには、プリンタドライバでICカード等に記載された情報からユーザ名情報を抽出し、そのユーザ名情報を印刷データに付加する必要がある。しかしながら、ICカード等に適用される情報フォーマットは、認証システム毎に異なっている。このため、ユーザ認証情報から、ユーザの識別のために使用するユーザ情報を抽出するためには、認証システム毎にプリンタドライバを提供する必要があった。また、認証システムにより認証されたユーザ名情報のみをプリンタドライバに取り込むべきであるが、認証されたユーザ名情報をプリンタドライバが取得することは困難だった。
【0004】
印刷を行う際のユーザの管理に関する技術として特許文献1に記載の技術がある。特許文献1に記載の技術では、まず、ユーザの操作により、プリンタドライバUIに「ユーザ名」、「グループ名」及び「パスワード」を設定し、それらの情報を印刷データと共にプリンタ装置に送出する。そして、印刷データと共に送出された情報が、プリンタ装置に登録してある情報と一致する場合に印刷を実行する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平10−207661号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載の技術のように、ユーザがプリンタドライバUIへユーザ名情報を入力する方法では、認証システムによる認証が為されていない情報を設定することが可能となってしまう。また、ユーザのログイン名やコンピュータ名をOSから取得してユーザ名情報とすることも可能であるが、ICカード等の認証システムで認証するユーザ名情報と、OSから取得したログイン名やコンピュータ名とが一致しているとは限らない。
以上のことから、プリンタドライバを変更すること無しに、プリンタドライバが認証システムで認証されたユーザに係るユーザ認証情報の中のユーザ名情報を取得し、印刷データにそのユーザ名情報を付加できるプリンティングシステムを構築する必要がある。
そこで、本発明は、情報処理装置を制御するオペレーティングシステムに対応した認証システムとは別の認証システムにおいて用いられる認証情報を用いて形成されたユーザ情報を、プリンタドライバで印刷データに付加できるようにすることを目的とする。
【課題を解決するための手段】
【0007】
本発明の認証方法は、情報処理装置における認証方法であって、前記情報処理装置を制御するオペレーティングシステムに対応した認証システムとは別の認証システムにおいて用いられる認証情報を取得する取得工程と、印刷データの生成をプリンタドライバにより行う生成工程と、前記プリンタドライバの制御の下で、前記取得工程において取得された認証情報を用いて形成されたユーザ情報を、前記生成工程において生成された印刷データに対して付加して送信する送信工程と、を有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、情報処理装置を制御するオペレーティングシステムに対応した認証システムとは別の認証システムにおいて用いられる認証情報を用いて形成されたユーザ情報を、プリンタドライバで印刷データに付加することができる。
【図面の簡単な説明】
【0009】
【図1】印刷システムを構成する装置のハードウェアの構成を示す図である。
【図2】情報処理装置における印刷処理に係るソフトウェアの構成を示す図である。
【図3】ユーザ認証を行う際の基本的な処理を説明する図である。
【図4】プリンタドライバのUIを示す図である。
【図5】印刷システムにおける認証動作及び印刷動作を説明する図である。
【図6】ユーザ認証情報からユーザ名情報を取得する仕組みを説明する図である。
【図7】認証処理を説明するフローチャートである。
【図8】ユーザ情報変換処理を説明するフローチャートである。
【図9】ユーザ名情報決定処理を説明するフローチャートである。
【図10】印刷データの登録と印刷を説明するフローチャートである。
【図11】ユーザ名情報のポップアップUI表示処理を説明するフローチャートである。
【図12】ユーザ名情報のポップアップUI表示例を示す図である。
【図13】ユーザ名情報の信頼性情報作成処理を説明するフローチャートである。
【発明を実施するための形態】
【0010】
(第1の実施形態)
以下、本発明の第1の実施形態について図面を用いて説明する。
図1は、印刷システムを構成する装置のハードウェアの構成の一例を示す図である。具体的に図1(a)は、情報処理装置のハードウェアの構成の一例を示す図であり、図1(b)は、プリンタ装置(印刷装置)のハードウェアの構成の一例を示す図である。尚、印刷システムは、情報処理装置及びプリンタ装置に加え、認証サーバとプリントサーバを有するが、認証サーバとプリントサーバのハードウェアの構成は、図1(a)に示したもので実現できるので、その詳細な説明を省略する。
【0011】
図1において、情報処理装置100と、プリンタ装置150は、双方向性インタフェース(LAN、インターネット、通信ケーブル等)を介して相互に通信可能に接続されている。また、情報処理装置100と、認証サーバ及びプリントサーバも、双方向性インタフェース(LAN、インターネット、通信ケーブル等)を介して相互に通信可能に接続されている。
情報処理装置100は、外部メモリ111に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行するCPU101を備えている。CPU101はシステムバス104に接続されている各デバイスを総括的に制御する。
【0012】
外部メモリ111は、CPU101の制御プログラムであるオペレーティングシステムプログラム(OS)、ブートプログラム、各種のアプリケーションプログラム、及びプリンタ制御コマンド生成プログラム(プリンタドライバ)を記憶している。また、外部メモリ111は、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(プリンタドライバ)等も記憶している。
【0013】
RAM102は、CPU101の主メモリ、ワークエリア等として機能する。
キーボードコントローラ(KBC)105は、キーボード109や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)106は、CRTディスプレイ(CRT)110の表示を制御する。ディスクコントローラ(DKC)107は、ハードディスクドライブ(HDD)、フレキシブルディスク(FDD)等の外部メモリ111のアクセスを制御する。プリンタコントローラ(PRTC)108は、双方向性インタフェースを介して、外部装置(プリンタ装置150、認証サーバ、プリントサーバ)に接続され、外部装置との通信制御処理を実行する。
【0014】
尚、CPU101は、例えばRAM102に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT110でのWYSIWYGを可能としている。また、CPU101は、CRT110に表示される不図示のマウスカーソル等で指示されたコマンドに基づいて、予め登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理パラメータの設定を行うことができる。
【0015】
プリンタ装置150は、CPU151による印刷制御に従って印刷される。CPU151は、ROM153に記憶された制御プログラム等、或いは外部メモリ160に記憶された制御プログラム等に基づいて、システムバス154に接続される印刷部(プリンタエンジン)158に出力情報としての画像信号を出力する。また、ROM153には、CPU151の制御プログラム等が記憶される。ROM153のフォント用ROMには、前記出力情報の生成時に使用されるフォントデータ等が記憶される。また、ハードディスク等の外部メモリ160がないプリンタ装置の場合、ROM153のデータ用ROMには、情報処理装置100で利用される情報等が記憶される。
【0016】
CPU151は、入力部155を介して情報処理装置100との通信処理が可能となっており、プリンタ装置150内の情報等を情報処理装置100に通知できる。RAM152は、CPU151の主メモリや、ワークエリア等として機能するRAMであり、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。尚、RAM152は、出力情報展開領域、環境データ格納領域、及びNVRAM等として用いられる。ハードディスクドライブ(HDD)、ICカード等で構成される外部メモリ160へのアクセスは、メモリコントローラ(MC)157により制御される。外部メモリ160は、前述の制御プログラムに加え、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、操作パネル159には、プリンタ装置150の操作のためのスイッチ及びLED表示器等が配されている。
【0017】
尚、前述した外部メモリ160は1個に限らず、複数個備えられ、内蔵フォントに加えて、オプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、プリンタ装置150は、図示しないNVRAMを有し、操作パネル159から入力されたプリンタモード設定情報をNVRAMに記憶するようにしてもよい。
【0018】
図2は、情報処理装置100における印刷処理に係るソフトウェアの構成の一例を示す図である。
図2において、画像生成アプリケーション200は、印刷原稿を生成する機能を備える。画像生成アプリケーション200は、プリンタ装置に対して印刷を行う際、グラフィックエンジン201を利用して、画像データをプリンタドライバ202に出力する。
グラフィックエンジン201は、画像生成アプリケーション200から出力された画像データをプリンタドライバ202に中継する機能を備える。尚、Windows(登録商標)OSでは、グラフィックエンジン201は、GDIと呼ばれるOSの描画手段に相当する。
【0019】
プリンタドライバ202は、グラフィックエンジン201から受け取った画像データからプリンタ装置150が認識可能な制御コマンドで構成される印刷データを生成して、システムスプーラ203に出力する機能を備える。
システムスプーラ203は、プリンタドライバ202により生成された印刷データを、双方向インタフェースを介してプリンタ装置150に出力する機能を備える。
これらのソフトウェアは、情報処理装置100の外部メモリ111に保管されていて、ソフトウェア起動時にRAM102にロードされてCPU101により実行される。
【0020】
図3は、ユーザ認証を行う際の基本的な処理の一例を説明する図である。
ここでは、ユーザの情報処理装置100と、認証サーバ302とが、ICカードを使ってユーザ認証のための処理を行う基本的なシステムを例に挙げて説明する。
まず、ユーザが自分のICカードをICカードリーダ301に挿入して、情報処理装置100にパスワードを入力する。情報処理装置100は、ICカードリーダ301で読み取られたICカード情報と、ユーザが情報処理装置100に入力したパスワードとを、ネットワーク等の双方向インタフェースを経由して認証サーバ302に送信し、ユーザの認証を依頼する。認証サーバ302は、情報処理装置100から送信されたICカード情報及びパスワードと、認証サーバ302で管理している情報とからユーザ認証を行い、そのユーザ認証の結果とユーザ認証情報とを情報処理装置100に返信する。認証の結果がOKだった場合、ユーザ認証情報に記載された情報に従い、ユーザによるシステムの利用が許可される。このユーザ認証情報には、ICカードのユーザが使用して良いアプリケーションの種類等の権限情報と共にユーザを識別するユーザ名情報等が含まれる。一方、認証の結果がNGだった場合には、ユーザにはシステムの利用が許可されない。
【0021】
図4は、プリンタドライバ202のUIの一例を示す図である。具体的に図4は、印刷データと共にプリンタ装置150に送出する「ユーザ名情報」の設定画面(「ユーザ名の設定」UI)である。このユーザ名情報を、プリンタ装置150、又は途中のプリンタサーバ等で抽出することにより、印刷を行うユーザの管理が可能となる。
「ユーザ名の設定」UI400では、どのような情報をユーザ名情報として印刷データと共に送出するかを設定する。ユーザ名情報の種類として、「ログオン名」401、「コンピュータ名」402、「名称指定」403が用意されており、ユーザは、どれか1つを選択することになる。
【0022】
「ログオン名」401が選択された場合には、印刷を行うユーザのログイン名をシステムから取得してユーザ名情報とする。「コンピュータ名」402が選択された場合には、ユーザが使用している情報処理装置100に登録されているコンピュータ名をシステムから取得してユーザ名情報とする。「名称指定」403が選択された場合には、全角16文字以内の任意の文字入力が可能となり、その入力された文字列をユーザ名情報とする。このような「ユーザ名の設定」UI400での設定に従って、印刷データの生成時にユーザ名情報を取得し、予め定めたユーザ名情報設定コマンドのパラメータとしてプリンタ装置150に出力することになる。また、「ユーザ名の設定」UI400で「ユーザ名の変更を許可しない」404のチェックボックスがONとなっている場合、ユーザ名として設定する名称を変更できる者は、プリンタ装置150に対する管理者権限を有する者に限定される。
「ユーザ名の設定」UI400で、以上のような設定がされている場合、プリンタドライバ202は、生成した印刷データの中に、設定されたユーザ名情報を含ませることができる。このユーザ名情報は、プリンタ装置150、又はプリンタ装置150に届くまでの過程(プリントサーバ等)で抽出され、印刷するユーザの管理が行われる。
【0023】
図3、図4を使って説明したようにすると、認証システム(認証サーバ302)で使用するユーザ認証情報とプリンタドライバ202が印刷データに挿入するユーザ名情報とが全く連携できていないことになる。
【0024】
そこで、本実施形態では、以下のようにして、ユーザ認証情報とユーザ名情報とを連携させるようにしている。
図5は、印刷システムにおける認証動作及び印刷動作の一例を説明する図である。
情報処理装置100に接続されたICカードリーダ301にICカードが挿入されると、情報処理装置100の外部メモリ111に記憶されている認証プログラム501が動作する。認証プログラム501は、パスワード入力制御部502により入力されたパスワードと、ICカードから読み取られたICカード情報とを、認証サーバ302に送信するための処理を実行する。認証サーバ302は、情報処理装置100から送信されたICカード情報及びパスワードと、認証サーバ302で管理する情報とからユーザ認証を行い、そのユーザ認証の結果と、認証されたユーザに係るユーザ認証情報とを情報処理装置100に返信する。認証サーバ302から返信されたユーザ認証の結果とユーザ認証情報は、認証プログラム501のユーザ認証情報管理部503で管理される。尚、認証サーバ302より、ユーザ認証の結果のみが情報処理装置100に送信される場合、認証プログラム501は、ICカード情報からユーザ名情報を抽出し、抽出したユーザ名情報をユーザ認証情報管理部503で管理しても構わない。
【0025】
ユーザ認証情報管理部503で管理されているユーザ認証情報をプリンタドライバ202で参照できるように、情報のフォーマットを変換するのが、ユーザ認証情報変換処理部504である。ユーザ認証情報変換処理部504は、ユーザ認証情報管理部503で管理されるユーザ認証情報からユーザ名情報を抽出し、このユーザ名情報に基づいて、プリンタドライバ202で参照可能なユーザ名情報505を生成する。ユーザ名情報505のフォーマットは、予めプリンタドライバ202で決定されているものである。ユーザ名情報505を生成するに際し、ユーザ名情報に合わせてユーザ名情報の有効条件等があっても構わない。ユーザ認証情報管理部503で管理されるユーザ認証情報が、プリンタドライバ202で参照できるユーザ名情報505と同一のフォーマットのものである場合には、ユーザ認証情報変換処理部504の処理は不要となる。
【0026】
プリンタドライバ202の印刷データ処理部506は、ユーザ認証情報変換処理部504により生成されたユーザ名情報505と、プリンタドライバ202の「ユーザ名の設定」UI400で設定されたユーザ名情報510の中から使用するユーザ名情報を決定する。そして、印刷データ処理部506は、ユーザ名情報を付加した印刷データを生成する。このユーザ名情報を付加した印刷データはプリントサーバ507に送信され、プリントサーバ507のユーザ管理処理部508で印刷データからユーザ名情報を抽出して、印刷の実行を指示したユーザの管理を行う。印刷を実行する場合には、プリントサーバ507よりプリンタ装置150に印刷データが転送され、この印刷データに基づいてプリンタ装置150で印刷が実行される。プリントサーバ507でユーザ管理を行うのは一例であり、プリンタ装置150にもICカードリーダを備え、ユーザの提示したICカード内のユーザ名情報と印刷データに付加されたユーザ名情報とが一致する場合に印刷を実行するシステムとしても構わない。また、ユーザの提示したICカード内のユーザ名情報と印刷データに付加されたユーザ名情報とが一致しない場合には、そのことに係る警告メッセージを表示してユーザに報知し、印刷を中断又は中止するようにしても構わない。
【0027】
図6は、プリンタドライバ202が、認証サーバ302で決定されたユーザ認証情報から、印刷データに付加するユーザ名情報を取得する仕組みを説明する図である。
ユーザ認証情報管理部503で管理されているユーザ認証情報604は、前述したユーザ認証情報変換処理部504により、ユーザ情報フォーマット601に示すようなプリンタドライバ202で予め定めたフォーマットに変換される。ユーザ認証情報変換処理部504は、プリンタドライバ202を構成する一部として提供されても良いが、様々な認証システムとの連携を実現するために、プリンタドライバ202と組み合わせる認証システム毎に提供されても良い。また、プリンタドライバ202と組み合わせる認証システムが、プリンタドライバ202で予め定めたユーザ情報フォーマット601でユーザ名情報505を直接作成できる場合には、このユーザ認証情報変換処理部504の処理は不要となる。以上が、プリンタドライバ202の認証情報の一例であるユーザ認証情報604を取得する処理である。この取得された情報に応じて、ユーザ情報の一例であるユーザ名情報505が形成される。もちろん、ユーザ認証情報604と、ユーザ名情報505が同一又は実質的に同一の場合も考えられる。
【0028】
プリンタドライバ202は、印刷データに付加するユーザ名情報を決定する際に、予め定めたユーザ情報格納先情報保持部602を参照する。ここに、ユーザ名情報505の格納先のファイル名(パス+ファイル名)やOSが管理しているレジストリ領域名が記載されている場合、プリンタドライバ202は、その所定の場所を参照してユーザ名情報505を取得する。印刷データに含めるユーザ名情報を決定する処理については後述する。ユーザ情報フォーマット601は、予めプリンタドライバ202側で定めたものとする。これによりプリンタドライバ202で正しくユーザ名情報505を参照することが可能となる。ユーザ情報フォーマット601は、ユーザ認証情報内のユーザ名情報に対応するユーザ名称文字列に加え、有効性のチェック方法(有効条件種類)及びチェック用データ(有効条件)で構成されている。
【0029】
有効条件種類として「0」が記載されていれば、ユーザ名情報の有効性のチェックは行わない(有効チェック無し)。有効条件種類として「1」が記載されていれば、ログイン時間と、有効条件として記載されているユーザ情報認証時間とを比較し、ログイン後の認証と判断された場合にのみユーザ名情報を有効とする(ログインチェック)。有効条件種類として「2」が記載されている場合には、現在の時刻と、有効条件として記載されている時刻とを比較し、現在の時刻が、記載されている時刻よりも前の場合にのみユーザ名情報を有効とする(有効期限チェック)。有効条件種類として「3」が記載されている場合には、プリンタドライバ202やOSからユーザのログイン名を取得し、取得したログイン名が、有効条件として記載されているログイン名と一致する場合にのみユーザ名情報を有効とする(ログイン名チェック)。ここでは、ユーザ名称文字列に合わせて、ユーザ情報フォーマット601が、ユーザ名情報の有効性のチェック方法を特定するものであるとしている。すなわち、本実施形態では、ユーザ名情報には、ユーザ名情報が有効であるための条件に係る情報の一例として、有効条件種類及び有効条件が含まれている。しかしながら、プリンタドライバ202で参照することができ、ユーザ名情報を特定できるのであればユーザ情報フォーマット601はどのようなフォーマットでも構わない。尚、ユーザ情報格納先情報保持部602、及びそこに示されているパス+ファイル名やレジストリ領域名は、プリンタドライバ202から参照可能である必要がある。
【0030】
[処理の説明]
次に、図7〜図9のフローチャートを参照しながら、印刷システムの処理の一例を説明する。
まず、図7を用いて、認証サーバ302がユーザ認証を行い、そのユーザ認証の結果とユーザ認証情報とを情報処理装置100が取得する処理(認証処理)の一例を説明する。まず、情報処理装置100の認証プログラム501は、ICカードリーダ301にICカードが挿入されるまで待機する(ステップS701)。ICカードリーダ301にICカードが挿入されると、情報処理装置100の認証プログラム501(パスワード入力制御部502)は、ICカード情報をICカードリーダ301から読み取り、情報処理装置100内に格納する(ステップS702)。
【0031】
ICカード情報の取得処理が完了すると、情報処理装置100の認証プログラム501は、パスワードの入力を求めるパスワード入力画面をCRT110(情報処理装置100のディスプレイ)に表示させる(ステップS703)。そして、情報処理装置100の認証プログラム501は、パスワード入力画面にパスワードが入力され、パスワードが確定されるまで待機する(ステップS704)。パスワードが確定すると、情報処理装置100の認証プログラム501は、認証サーバ302に、ICカード情報とパスワードとを送信する処理を行う(ステップS705)。
【0032】
認証サーバ302は、情報処理装置100から取得したICカード情報及びパスワードと、認証サーバ302で管理している情報とに基づいてユーザ認証を行い、そのユーザ認証の結果とユーザ認証情報とを情報処理装置100に返信する。情報処理装置100の認証プログラム501は、ユーザ認証の結果とユーザ認証情報とが認証サーバ302から返信されるまで待機する(ステップS706)。ユーザ認証の結果とユーザ認証情報とが返信されると、情報処理装置100の認証プログラム501は、まず、ユーザ認証の結果がOKだったかどうかを判定する(ステップS707)。この判定の結果、ユーザ認証の結果がOKだった場合、情報処理装置100の認証プログラム501(ユーザ認証情報管理部503)は、返信されたユーザ認証情報を管理(記憶)する(ステップS708)。一方、ユーザ認証の結果がNGだった場合、情報処理装置100の認証プログラム501は、CRT110(情報処理装置100のディスプレイ)に、認証できなかったことを示す情報を表示させ、そのことをユーザに通知する(ステップS709)。
【0033】
次に、図8を用いて、ユーザ認証情報をプリンタドライバ202から参照可能なユーザ名情報に変換する処理(ユーザ情報変換処理)の一例を説明する。
まず、情報処理装置100のユーザ認証情報変換処理部504は、プリンタドライバ202から参照可能な予め定められた記憶領域にあるユーザ情報格納先情報保持部602に、ユーザ名情報の格納先とファイル名を記載する(ステップS801)。この格納先は、プログラム上で予め定めても良いし、設定ファイルに記載してプリンタドライバ202から参照するようにして場所を変更できるようにしても良い。本実施形態では、予め定められたプリンタドライバ202から参照可能な場所を、レジストリ領域(HKEY_LOCAL_MACHINE\SOFTWARE\ABC\JobName)とする。そして、ここにユーザ名情報の格納先である(c:\userinfo\username.dat)を記載するものとする。
【0034】
次に、ユーザ認証情報変換処理部504は、認証プログラム501のユーザ認証情報管理部503で管理されているユーザ認証情報があるか否かを判定する(ステップS802)。この判定の結果、ユーザ認証情報がない場合には、図8のフローチャートによる処理を終了する。一方、ユーザ認証情報がある場合には、ユーザ認証情報変換処理部504は、そのユーザ認証情報からユーザ名情報を抽出し、そのユーザ名情報をユーザ情報フォーマット601で示したフォーマットに変換する(ステップS803)。そして、ユーザ認証情報変換処理部504は、ユーザ名情報505を、ユーザ情報の格納先として記載された場所(c:\userinfo\)に、指定したファイル名(username.dat)で格納する(ステップS804)。
【0035】
次に、図9を用いて、プリンタドライバ202が印刷データに付加するユーザ名情報を決定する処理(ユーザ名情報決定処理)の一例を説明する。
まず、プリンタドライバ202は、ユーザ情報格納先情報保持部602(HKEY_LOCAL_MACHINE\SOFTWARE\ABC\JobName)に、ユーザ名情報の格納先が記載されているか否かを判定する(ステップS900)。この判定の結果、ユーザ名情報の格納先が記載されていない場合、プリンタドライバ202は、「ユーザ名の設定」UI400(図4を参照)で設定されている内容を参照してユーザ名情報を取得する。そして、プリンタドライバ202は、「ユーザ名の設定」UI400で「ログオン名」401が設定されているか否かを判定する(ステップS917)。この判定の結果、「ログオン名」401が設定されている場合、プリンタドライバ202は、ユーザのログイン名をOSから取得してユーザ名情報とする(ステップS918)。
【0036】
ステップS917の判定の結果、「ログオン名」401が設定されていない場合、プリンタドライバ202は、「ユーザ名の設定」UI400で「コンピュータ名」402が設定されているか否かを判定する(ステップS919)。この判定の結果、「コンピュータ名」402が設定されている場合、プリンタドライバ202は、コンピュータ名をOSから取得してユーザ名情報とする(ステップS921)。
ステップS919の判定の結果、「コンピュータ名」402が設定されていない場合、プリンタドライバ202は、「ユーザ名の設定」UI400で「名称指定」403が設定されているか否かを判定する(ステップS920)。この判定の結果、「名称指定」403が設定されている場合、プリンタドライバ202は、名称として入力されている文字列をユーザ名情報とする(ステップS922)。一方、「名称指定」403が設定されていない場合、プリンタドライバ202は、ユーザ名情報の登録がないことを示す警告メッセージをCRT110(情報処理装置100のディスプレイ)に表示させ、印刷処理を中断(又は中止)する(ステップS923)。
【0037】
ステップS900の判定の結果、ユーザ情報格納先情報保持部602に、ユーザ名情報の格納先が記載されている場合、プリンタドライバ202は、当該格納先に格納されているファイルを参照する(ステップS901)。ここでは、プリンタドライバは、c:\userinfo\username.datを参照する。これによりプリンタドライバ202は、ユーザ認証情報に含まれるユーザ名情報を取得する。次に、プリンタドライバ202は、ユーザ情報格納先情報保持部602に記載されている格納先にファイルが存在し、且つ、そのファイルのファイルフォーマットが予め定めたものと一致しているか否かを判定する(ステップS902)。この判定の結果、ファイルが存在しない、又はファイルフォーマットが正しくない場合、プリンタドライバ202は、ステップS901で得たユーザ名情報を無効とする。そして、前述したステップS917に進み、「ユーザ名の設定」UI400の設定に従ってユーザ名情報を決定する。
【0038】
ステップS902の判定の結果、ファイルが存在し、且つ、ファイルフォーマットも正しい場合、プリンタドライバ202は、ユーザ情報フォーマット601に従って、ステップS901で得たユーザ名情報から有効条件種類を参照する。そして、プリンタドライバ202は、ステップS901で得たユーザ名情報の有効条件種類として「0」が記載されている否かを判定する(ステップS903)。この判定の結果、有効条件種類として「0」が記載されている場合、プリンタドライバ202は、ユーザ名情報の有効条件のチェックを行わない。すなわち、プリンタドライバ202は、ステップS901で得たユーザ名情報からユーザ名文字列を抽出して印刷データに付加するユーザ名情報とする(ステップS904)。
【0039】
ステップS903の判定の結果、有効条件種類として「0」が記載されていない場合、プリンタドライバ202は、ステップS901で得たユーザ名情報の有効条件種類として「1」が記載されているか否かを判定する(ステップS905)。この判定の結果、有効条件種類として「1」が記載されている場合、プリンタドライバ202は、ステップS901で得たユーザ名情報に有効条件として記載されている認証時刻と、OSから取得したユーザのログイン時刻とを比較する(ステップS906)。そして、プリンタドライバ202は、ユーザ名情報に有効条件として記載されている認証時刻(認証時)よりもログイン時間(ログイン時)の方が前であるか否かを判定する(ステップS907)。この判定の結果、認証時刻よりもログイン時間の方が前である場合、プリンタドライバ202は、ログイン後に正しく認証が行われたものとして、ユーザ名情報からユーザ名文字列を抽出して印刷データに付加するユーザ名情報とする(ステップS904)。
【0040】
一方、ステップS907の判定の結果、認証時刻に対しログイン情報が後である場合、プリンタドライバ202は、警告メッセージをCRT110(情報処理装置100のディスプレイ)に表示させ、印刷処理を中断(又は中止)する(ステップS908)。警告メッセージは、例えば、「設定されているユーザ情報が有効でありません。印刷を中止します」と記載されたダイアログである。
ステップS905の判定の結果、有効条件種類として「1」が記載されていない場合、プリンタドライバ202は、ステップS901で得たユーザ名情報の有効条件種類として「2」が記載されているか否かを判定する(ステップS909)。この判定の結果、有効条件種類として「2」が記載されている場合、プリンタドライバ202は、ステップS901で得たユーザ名情報に有効条件として記載されている有効期限と、OSから取得した現在の時刻とを比較する(ステップS910)。そして、プリンタドライバ202は、現在の時刻が、ユーザ名情報に有効条件として記載されている有効期限内であるか否かを判定する(ステップS911)。この判定の結果、現在の時刻が有効期限内である場合、プリンタドライバ202は、ステップS901で得たユーザ名情報からユーザ名文字列を抽出し、印刷データに付加するユーザ名情報とする(ステップS912)。
【0041】
ステップS911の判定の結果、現在の時刻が有効期限外である場合、プリンタドライバ202は、前述したような警告メッセージをユーザに示し、印刷処理を中断(又は中止)する(ステップS908)。
ステップS909の判定の結果、有効条件種類として「2」が記載されていない場合、プリンタドライバ202は、ステップS901で得たユーザ名情報の有効条件種類として「3」が記載されているか否かを判定する(ステップS913)。この判定の結果、有効条件種類として「3」が記載されている場合、プリンタドライバ202は、ステップS901で得たユーザ名情報に有効条件として記載されているログイン名と、OSから取得したユーザのログイン名とを比較する(ステップS914)。そして、プリンタドライバ202は、ユーザ名情報に有効条件として記載されているログイン名と、OSから取得したユーザのログイン名とが一致するか否かを判定する(ステップS915)。この判定の結果、ログイン名が一致する場合、プリンタドライバ202は、ステップS901で得たユーザ名情報からユーザ名文字列を抽出し、印刷データに付加するユーザ名情報とする(ステップS912)。
【0042】
ステップS913の判定の結果、有効条件種類として「3」が記載されていない場合(有効条件種類として0〜3以外が指定されている場合)、又は、ステップS915の判定の結果、ログイン名が一致しない場合には、ステップS916に進む。そして、プリンタドライバ202は、プリンタドライバ202は、前述したような警告メッセージをCRT110(情報処理装置100のディスプレイ)に表示させ、印刷処理を中断(又は中止)する(ステップS916)。
以上のようにして決定した印刷データに付加するユーザ名情報を、ユーザ名を指定するコマンド(本実施形態ではid_att_job_owner_name)のパラメータとして記載し、プリンタドライバ202からプリンタ装置150へ出力するものとする。
【0043】
次に、図10を用いて、プリンタ装置150に送信された印刷データを印刷する制御について説明する。
前述したように、ユーザ名情報が付加された印刷データがプリンタドライバ202から送信されてくる(ステップS1000)と、プリンタ装置150では印刷データとユーザ名情報とを分離する(ステップS1001)。分離された印刷データは、画像を形成するための画像データに変換され、分離されたユーザ名情報と関連付けて外部メモリ160に保存される(ステップS1002)。
プリンタ装置150は、プリンタ装置150に設けられた操作パネル159、または図示していない、プリンタ装置150に接続された文字入力装置、またはICカードリーダ等により文字情報が入力されるまで待機する(ステップS1003)。
【0044】
文字情報が入力されると、プリンタ装置150は、その文字情報と一致するユーザ名情報の画像データが外部メモリ160に保存されているか否かを確認する(ステップS1004)。この確認の結果、一致する画像データが無い場合、プリンタ装置150は、一致する画像データがないことを知らせるメッセージを操作パネル159に表示(ステップS1005)して、ユーザ名情報の入力待ち状態となる。一方、一致する画像データがある場合(画像データが保存されている場合)、プリンタ装置150は、保存された順番にその画像データを印字部158に転送して印刷を実行する(ステップS1006)。
【0045】
本実施形態では、印刷が完了した画像データは外部メモリ160から消去するものとする(ステップS1007)。そして、印刷する画像データがなくなる(ステップS1008)と、印刷処理を終了する。尚、ステップS1003において入力された文字情報と保存されているユーザ名情報とが一致する場合に、そのユーザ名情報に対応する画像データ一の覧を操作パネル159に表示して、印刷する画像データをユーザが選択するようにしても構わない。また、印刷完了時に外部メモリ160に保存した画像データを消去するかどうかを選択する画面を操作パネル159に行い、画像データを消去することが選択された場合のみ消去するようにしても構わない。また、印刷データにユーザ名情報が付加されていない場合には、そのまま印刷を実行しても印刷を行わないようにしても構わない。
このように、ユーザ名情報を入力させて保存している画像データの中で一致するものだけを印刷できるようにすることで、印刷物が放置されていたり、他の人が間違って印刷物を持っていってしまったりすることを回避することが可能となる。
【0046】
以上のように本実施形態では、情報処理装置100は、認証サーバ302から送信されたユーザ認証情報に含まれるユーザ名情報を取得する。そして、取得したユーザ名情報を、プリンタドライバ202が参照できる記憶領域に、プリンタドライバ202が参照できる予め定められたフォーマットに従って記述して記憶する。プリンタドライバ202は、当該記憶領域にユーザ名情報が記憶されており、且つ、当該ユーザ名情報が当該フォーマットに記述されている条件に合致した場合に、当該ユーザ名情報を印刷データに付加してプリンタ装置150に送信する。したがって、ICカード等のユーザ認証システムから取得されるユーザ認証情報に含まれるユーザ名情報を印刷データと共に送出することを可能となる。よって、ユーザ認証システムで認証されたユーザ認証情報を使ったユーザ管理や印刷管理を行うシステムの構築が可能となる。
また、本実施形態では、プリンタドライバ202が参照できる記憶領域にユーザ名情報が記憶されていない場合、又は、当該ユーザ名情報がフォーマットに記述されている条件に合致しない場合、UIで指定されたユーザ名情報を印刷データに付加するようにした。したがって、ユーザ名情報が印刷データに付加されなくなることを可及的に防止することができる。
【0047】
尚、ユーザ名情報と共に、当該ユーザ名情報の有効性の判定に使用した有効条件種類と有効条件も印刷データに付加することにより、プリンタ装置150等での印刷実行時等に再度ユーザ名情報の有効性を確認できるようにしても構わない。
また、ユーザ認証情報から得られたユーザ名情報が有効条件に合致していない場合(例えばステップS905、S909、又はステップS913でNoと判定された場合)に、「ユーザ名の設定」UI400の設定に従ってユーザ名情報を決定しても構わない。さらに、ユーザ情報格納先情報保持部602に記載されている格納先に存在するファイルフォーマットが予め定めたものと一致していない場合には、その旨に係る警告メッセージを表示して、印刷処理を中断(又は中止)してもよい。
【0048】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。本実施形態は、第1の実施形態に対し、プリンタドライバ202が、ユーザ名情報を決定した後(図9)、決定したユーザ名情報を印刷データに付加する前に、印刷データに付加するユーザ名情報を、ポップアップUIでユーザに通知する機能を追加したものである。したがって、本実施形態の説明において、第1の実施形態と同一の部分については、図1〜図10に付した符号と同一の符号を付す等して詳細な説明を省略する。
【0049】
図11は、印刷データに付加するユーザ名情報をポップアップ表示する処理(ポップアップUI表示処理)の一例を説明するフローチャートである。また、図12は、ポップアップUIの表示例を示す図である。本実施形態では、図11のフローチャートは、図9に示したフローチャートに従って、印刷データに付加するユーザ名情報が決定されてから、当該ユーザ名情報を印刷データに付加する前に実行されるものとする。
まず、プリンタドライバ202は、印刷データに付加するユーザ名情報が、ICカード等のユーザ認証システムから取得されたユーザ名情報であるか否かを判定する(ステップS1100)。この判定の結果、印刷データに付加するユーザ名情報が、ユーザ認証システムから取得されたユーザ名情報である場合、プリンタドライバ202は、当該ユーザ名情報を特定の文字に置き換えて情報処理装置100のディスプレイに表示する(ステップS1101)。図12(a)は、印刷データに付加するユーザ名情報が、ユーザ認証システムから取得されたユーザ名情報である場合のユーザ名情報のホップアップUIの表示例を示す図である。図12(a)に示すように、本実施形態では、ユーザ名情報を"*"という文字に置き換えている場合を例に挙げて示しているが、置き換える文字は、"ユーザ認証システムのユーザ名"等、その他の文字列であっても構わない。
【0050】
一方、印刷データに付加するユーザ名情報が、ユーザ認証システムから取得されたユーザ名情報でなく、図4で示した「ログオン名」401、「コンピュータ名」402、または「名称指定」403で設定されたユーザ名情報である場合には、次の処理を行う。すなわち、プリンタドライバ202は、当該ユーザ名情報を、情報処理装置100のディスプレイにそのまま表示する(ステップS1102)。図12(b)は、印刷データに付加するユーザ名情報が、「ユーザ名の設定」UIで設定されたユーザ名情報である場合のユーザ名情報のホップアップUIの表示例を示す図である。
以上のようにユーザ名情報の取得先によりポップアップUIの表示方法を変えている理由は、ユーザ認証システムで使用しているユーザ識別情報をユーザに開示すべきでない場合があるからである。
尚、本実施形態では、外部から与えられたユーザ名情報のみを特定文字(図12(a)に示した例では"*")に置き換えて認証に使用するユーザ名情報をユーザに開示しないようにした。しかしながら、OSから取得される「ログオン名」401、「コンピュータ名」402についても、特定文字に置き換えて表示する等、特定の文字に置き換えるユーザの情報の決定を選択的に行えるようにしても構わない。また、図12(a)、図12(b)に示したポップアップUI上でユーザ名情報の変更を許可するかどうかは図4で示した「ユーザ名の変更を許可しない」404の設定に応じて行う。ただし、この設定に関係無くICカード等のユーザ認証システムから取得されるユーザ名情報である場合には、ポップアップUI上でのユーザ名情報の変更を常に不可とするようにしても構わない。
【0051】
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。第1、第2の実施形態では、印刷データに付加するユーザ名情報をid_att_job_owner_nameというコマンドのパラメータとして通知するものとしている。このような情報が無い場合には、例えば、同じ「abcde」というユーザ名情報であっても、その信頼性を判別することができないからである。これに対し、本実施形態では、プリンタドライバ202が、ユーザ名情報だけでなく、当該ユーザ名情報の入手先(取得先)を特定できる情報や、当該ユーザ名情報の信頼性を示す情報を印刷データに付加する機能を有するようにしている。したがって、本実施形態の説明において、第1、第2の実施形態と同一の部分については、図1〜図12に付した符号と同一の符号を付す等して詳細な説明を省略する。
【0052】
図13は、ユーザ名情報に応じて当該ユーザ名情報の信頼性を示す信頼性情報を作成する処理(信頼性情報作成処理)の一例を説明するフローチャートである。
プリンタドライバ202は、ICカード等のユーザ認証システムから取得されたユーザ名情報を変更せずにそのままユーザ名情報として、印刷データに付加して送信するか否かを判定する(ステップS1300)。この判定の結果、ユーザ認証システムから取得されたユーザ名情報をそのままユーザ名情報として印刷データに付加する場合には(ユーザ名情報がユーザ認証システムから取得された情報である場合には)、次の処理を行う。すなわち、プリンタドライバ202は、当該ユーザ名情報の信頼性が高いものであるとして信頼性情報を"high"とする(ステップS1301)。
【0053】
一方、ユーザ認証システムから取得されたユーザ名情報をそのままユーザ名情報として印刷データに付加しない場合には、次の処理を行う。すなわち、プリンタドライバ202は、図4に示した「ログオン名」401、「コンピュータ名」402のように、OSから取得された情報を変更せずにそのままユーザ名情報として印刷データに付加して送信するか否かを判定する(ステップS1302)。この判定の結果、OSから取得されたユーザ名情報をそのままユーザ名情報として印刷データに付加する場合には(ユーザ名情報がOSから取得された情報である場合には)、次の処理を行う。すなわち、プリンタドライバ202は、当該ユーザ名情報の信頼性が中程度であるとして信頼性情報を"middle"とする(ステップS1303)。
【0054】
一方、OSから取得されたユーザ名情報をそのままユーザ名情報として印刷データに付加しない場合、プリンタドライバ202は、ユーザ名情報の信頼性が低いものであるとして信頼性情報を"low"とする(ステップS1304)。ステップS1304の処理が行われる場合は、例えば、印刷データに付加するユーザ名情報が、図4に示した「名称指定」403等で設定されたユーザ名情報、又は図12に示したポップアップUI上等でユーザにより変更されたユーザ名情報の場合である。
以上のようにして信頼性情報を決定すると、プリンタドライバ202は、決定した信頼性情報とユーザ名情報とを合わせて印刷データに付加する。そして、情報処理装置100は、信頼性情報とユーザ名情報とが付加された印刷データを、プリントサーバ507に送信する(ステップS1305)。
【0055】
また、ユーザ名情報の入手先(取得先)を特定できる情報を印刷データに付加する場合には、次の処理が行われる。すなわち、プリンタドライバ202は、例えば、ユーザ名情報の入手先が、ユーザ認証システム、OS、及びそれ以外の何れであるかを判定し、判定した入手先を示す情報をユーザ情報取得先情報の一例として、当該ユーザ名情報と合わせて印刷データに付加する。
【0056】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【0057】
(その他の実施例)
本発明は、以下の処理を実行することによっても実現される。即ち、まず、以上の実施形態の機能を実現するソフトウェア(コンピュータプログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)が当該コンピュータプログラムを読み出して実行する。
【特許請求の範囲】
【請求項1】
情報処理装置における認証方法であって、
前記情報処理装置を制御するオペレーティングシステムに対応した認証システムとは別の認証システムにおいて用いられる認証情報を取得する取得工程と、
印刷データの生成をプリンタドライバにより行う生成工程と、
前記プリンタドライバの制御の下で、前記取得工程において取得された認証情報を用いて形成されたユーザ情報を、前記生成工程において生成された印刷データに対して付加して送信する送信工程と、を有することを特徴とする認証方法。
【請求項2】
前記認証情報に含まれるユーザ情報のフォーマットを、前記プリンタドライバが参照できるフォーマットに変換する変換工程を更に有し、
前記変換工程により変換されたユーザ情報を、前記プリンタドライバが参照できる所定の記憶領域に記憶することを特徴とする請求項1に記載の認証方法。
【請求項3】
前記プリンタドライバが参照できる記憶領域に、前記ユーザ情報の格納先を記憶し、前記認証情報に含まれる前記ユーザ情報を、前記プリンタドライバが参照できる予め定められたフォーマットで、前記格納先に記憶することを特徴とする請求項1又は2に記載の認証方法。
【請求項4】
前記プリンタドライバは、ユーザによって指定されたユーザ情報を受け付け、
所定の記憶領域にユーザ情報が記憶されていない場合、または、前記所定の記憶領域に記憶されているユーザ情報が、予め定められたフォーマットとなっていない場合に、前記ユーザによって指定されたユーザ情報を、印刷データに付加することを特徴とする請求項1〜3の何れか1項に記載の認証方法。
【請求項5】
前記プリンタドライバは、前記ユーザによって指定されたユーザ情報、または、前記プリンタドライバが参照できる所定の記憶領域に記憶されているユーザ情報を印刷データに付加する場合には、そのユーザ情報に合わせて、ユーザ情報の取得先を示すユーザ情報取得先情報をもその印刷データに付加することを特徴とする請求項1に記載の認証方法。
【請求項6】
前記プリンタドライバは、前記ユーザによって指定されたユーザ情報、または、前記プリンタドライバが参照できる所定の記憶領域に記憶されているユーザ情報を印刷データに付加する場合には、そのユーザ情報に合わせて、ユーザ情報の取得先からユーザ情報の信頼性を判別してその信頼性を示す情報をも印刷データに付加することを特徴とする請求項1に記載の認証方法。
【請求項7】
前記プリンタドライバは、ユーザ名情報をポップアップUIでユーザに知らしめる機能を有し、
前記ユーザによって指定されたユーザ情報についてはその文字列を表示装置に表示させ、
前記取得工程において取得された認証情報を用いて形成されたユーザ情報についてはそのユーザ情報を特定の文字に置き換えて表示装置に表示させることを特徴とする請求項1〜6の何れか1項に記載の認証方法。
【請求項8】
前記プリンタドライバは、前記プリンタドライバが参照できる所定の記憶領域に記憶されているユーザ情報が、予め定められたフォーマットとなっていない場合に、そのことに係る情報をユーザに報知し、印刷処理を中断または中止することを特徴とする請求項1〜3の何れか1項に記載の認証方法。
【請求項9】
前記フォーマットには、ユーザ情報が有効であるための条件を満たすか否かを判断するための情報が含まれており、
前記プリンタドライバは、前記記憶領域に記憶されているユーザ情報が、前記条件に合致しているものである場合に、当該ユーザ情報を、印刷データに付加することを特徴とする請求項2〜8の何れか1項に記載の認証方法。
【請求項10】
前記プリンタドライバは、前記条件に合致していると判定した際に使用した情報を、前記ユーザ情報に加えて、前記印刷データに付加することを特徴とする請求項9に記載の認証方法。
【請求項11】
前記プリンタドライバは、前記記憶領域に記憶されているユーザ情報が、前記条件に合致しているものでない場合に、そのことに係る情報をユーザに報知し、印刷処理を中断または中止することを特徴とする請求項9又は10に記載の認証方法。
【請求項12】
前記プリンタドライバは、ユーザによって指定されたユーザ情報を受け付け、
前記記憶領域に記憶されているユーザ情報が、前記条件に合致しているものでない場合に、前記ユーザによって指定されたユーザ情報を、印刷データに付加することを特徴とする請求項9又は10に記載の認証方法。
【請求項13】
情報処理装置を制御するオペレーティングシステムに対応した認証システムとは別の認証システムにおいて用いられる認証情報を取得する取得手段と、
印刷データの生成をプリンタドライバにより行う生成手段と、
前記プリンタドライバの制御の下で、前記取得手段において取得された認証情報を用いて形成されたユーザ情報を、前記生成手段において生成された印刷データに対して付加して送信する送信手段と、を有することを特徴とする情報処理装置。
【請求項14】
請求項1〜12の何れか1項に記載の認証方法の各工程をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項1】
情報処理装置における認証方法であって、
前記情報処理装置を制御するオペレーティングシステムに対応した認証システムとは別の認証システムにおいて用いられる認証情報を取得する取得工程と、
印刷データの生成をプリンタドライバにより行う生成工程と、
前記プリンタドライバの制御の下で、前記取得工程において取得された認証情報を用いて形成されたユーザ情報を、前記生成工程において生成された印刷データに対して付加して送信する送信工程と、を有することを特徴とする認証方法。
【請求項2】
前記認証情報に含まれるユーザ情報のフォーマットを、前記プリンタドライバが参照できるフォーマットに変換する変換工程を更に有し、
前記変換工程により変換されたユーザ情報を、前記プリンタドライバが参照できる所定の記憶領域に記憶することを特徴とする請求項1に記載の認証方法。
【請求項3】
前記プリンタドライバが参照できる記憶領域に、前記ユーザ情報の格納先を記憶し、前記認証情報に含まれる前記ユーザ情報を、前記プリンタドライバが参照できる予め定められたフォーマットで、前記格納先に記憶することを特徴とする請求項1又は2に記載の認証方法。
【請求項4】
前記プリンタドライバは、ユーザによって指定されたユーザ情報を受け付け、
所定の記憶領域にユーザ情報が記憶されていない場合、または、前記所定の記憶領域に記憶されているユーザ情報が、予め定められたフォーマットとなっていない場合に、前記ユーザによって指定されたユーザ情報を、印刷データに付加することを特徴とする請求項1〜3の何れか1項に記載の認証方法。
【請求項5】
前記プリンタドライバは、前記ユーザによって指定されたユーザ情報、または、前記プリンタドライバが参照できる所定の記憶領域に記憶されているユーザ情報を印刷データに付加する場合には、そのユーザ情報に合わせて、ユーザ情報の取得先を示すユーザ情報取得先情報をもその印刷データに付加することを特徴とする請求項1に記載の認証方法。
【請求項6】
前記プリンタドライバは、前記ユーザによって指定されたユーザ情報、または、前記プリンタドライバが参照できる所定の記憶領域に記憶されているユーザ情報を印刷データに付加する場合には、そのユーザ情報に合わせて、ユーザ情報の取得先からユーザ情報の信頼性を判別してその信頼性を示す情報をも印刷データに付加することを特徴とする請求項1に記載の認証方法。
【請求項7】
前記プリンタドライバは、ユーザ名情報をポップアップUIでユーザに知らしめる機能を有し、
前記ユーザによって指定されたユーザ情報についてはその文字列を表示装置に表示させ、
前記取得工程において取得された認証情報を用いて形成されたユーザ情報についてはそのユーザ情報を特定の文字に置き換えて表示装置に表示させることを特徴とする請求項1〜6の何れか1項に記載の認証方法。
【請求項8】
前記プリンタドライバは、前記プリンタドライバが参照できる所定の記憶領域に記憶されているユーザ情報が、予め定められたフォーマットとなっていない場合に、そのことに係る情報をユーザに報知し、印刷処理を中断または中止することを特徴とする請求項1〜3の何れか1項に記載の認証方法。
【請求項9】
前記フォーマットには、ユーザ情報が有効であるための条件を満たすか否かを判断するための情報が含まれており、
前記プリンタドライバは、前記記憶領域に記憶されているユーザ情報が、前記条件に合致しているものである場合に、当該ユーザ情報を、印刷データに付加することを特徴とする請求項2〜8の何れか1項に記載の認証方法。
【請求項10】
前記プリンタドライバは、前記条件に合致していると判定した際に使用した情報を、前記ユーザ情報に加えて、前記印刷データに付加することを特徴とする請求項9に記載の認証方法。
【請求項11】
前記プリンタドライバは、前記記憶領域に記憶されているユーザ情報が、前記条件に合致しているものでない場合に、そのことに係る情報をユーザに報知し、印刷処理を中断または中止することを特徴とする請求項9又は10に記載の認証方法。
【請求項12】
前記プリンタドライバは、ユーザによって指定されたユーザ情報を受け付け、
前記記憶領域に記憶されているユーザ情報が、前記条件に合致しているものでない場合に、前記ユーザによって指定されたユーザ情報を、印刷データに付加することを特徴とする請求項9又は10に記載の認証方法。
【請求項13】
情報処理装置を制御するオペレーティングシステムに対応した認証システムとは別の認証システムにおいて用いられる認証情報を取得する取得手段と、
印刷データの生成をプリンタドライバにより行う生成手段と、
前記プリンタドライバの制御の下で、前記取得手段において取得された認証情報を用いて形成されたユーザ情報を、前記生成手段において生成された印刷データに対して付加して送信する送信手段と、を有することを特徴とする情報処理装置。
【請求項14】
請求項1〜12の何れか1項に記載の認証方法の各工程をコンピュータに実行させることを特徴とするコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2011−118860(P2011−118860A)
【公開日】平成23年6月16日(2011.6.16)
【国際特許分類】
【出願番号】特願2010−91574(P2010−91574)
【出願日】平成22年4月12日(2010.4.12)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成23年6月16日(2011.6.16)
【国際特許分類】
【出願日】平成22年4月12日(2010.4.12)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]