JP4679908B2 - ウェブ認証サーバー - Google Patents

ウェブ認証サーバー Download PDF

Info

Publication number
JP4679908B2
JP4679908B2 JP2005006821A JP2005006821A JP4679908B2 JP 4679908 B2 JP4679908 B2 JP 4679908B2 JP 2005006821 A JP2005006821 A JP 2005006821A JP 2005006821 A JP2005006821 A JP 2005006821A JP 4679908 B2 JP4679908 B2 JP 4679908B2
Authority
JP
Japan
Prior art keywords
authentication
information
user
web
browser
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005006821A
Other languages
English (en)
Other versions
JP2006195750A (ja
Inventor
征司 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2005006821A priority Critical patent/JP4679908B2/ja
Publication of JP2006195750A publication Critical patent/JP2006195750A/ja
Application granted granted Critical
Publication of JP4679908B2 publication Critical patent/JP4679908B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、一つのウェブアプリケーションにて複数のプロセスで動作するウェブアプリケーションを複数実装した場合においても、セッションオブジェクトを使用したユーザー変更を可能とし、また、認証情報を複数のプロセス間で共有可能とするウェブ認証サーバーに関する。
近年、インターネット等のネットワークを介して様々な情報が、例えば、ネットワークを介して接続されるクライアントPCのウェブ(Web)ブラウザにウェブページとして表示されるようになってきた。情報の種類によっては、無差別にアクセスしてくるユーザー全てに提供することができないものも多い。従って、そのような情報を提供する前にユーザーを認証し、ユーザー認証が成功した場合にのみ、情報提供を行うように制御されている。
ユーザー認証に係る従来技術例として、クライアントの利用要求に対して、サーバーがユニークな認証用IDを作成してクライアントに返信し、クライアントは受信した認証用IDと自己の信用照会情報とをサーバーに送信し、サーバーは受信した認証用IDと自己が作成したユニークな認証用IDとの一致を認証する「クライアント認証方法」がある(例えば、特許文献1参照)。
また、別の従来技術例として、情報処理装置が利用認証情報識別子をクライアントに送信し、クライアントから利用認証情報識別子を受信すると、利用認証情報識別子から情報を識別する情報識別子を一意に特定し、その情報識別子により識別される情報をクライアントに提供する「情報処理装置、情報提供処理システム、画像形成装置、情報提供方法および不正利用防止方法」がある(例えば、特許文献2参照)。
特開2003−85140号公報 特開2004−234640号公報
従来、クライアントPCとウェブサーバー装置間の通信において、クライアントPCの画面上のログオンボタン44c(図7参照)がユーザーによって押下されると、情報処理装置であるウェブサーバー装置は、図9に示すシーケンスに従い、ユーザー認証処理を行う。その際に、ベーシック(Basic)認証の認証画面である認証ダイアログボックス(図6参照)に対し、ユーザーがユーザー名とパスワードを入力する。また、ユーザーがログオンボタン44cを押下した際に、クライアントPCのユーザー切替管理モジュールは、図8に示すようなセッションオブジェクト情報(セッションID、セッション状態、セッションの有効期限、セッションの残り時間、接続回数、セッション終了修理関数)を管理するためのセッションを用意する。
図9において、クライアントPC40のWebブラウザを利用するユーザーが、機器に対して、初期アクセスを行うと、例えば、ログインするためのLogin.cgiの呼び出しによって、機器の認証モジュール5が呼び出され、認証NG(401エラー)をクライアントPC40にログインに対する応答として返すことによって、所定の認証画面(ベーシック認証画面)がクライアントPC40に表示される。ユーザーが、認証情報として、ユーザー名(アカウント)とパスワードを入力することによって、認証モジュール5で認証が行われ、トップページを表示するために、認証OK(認証成功)がWebページライブラリ120に通知される。Webページライブラリ120は、所定のWebアプリケーションによるトップページを表示するためのWebページファンクション(WPF)6を呼び出し、そのWebアプリケーションによって作成された認証に対する応答としてトップページをクライアントPC40に提供する。
この認証の際、クライアントPC1のWebブラウザが認証時のURLと認証情報(ユーザー名及びパスワード)を記憶する。以後、認証したURLに対してリクエストを送信すると、認証時に使用したユーザー名とパスワードとリクエストのヘッダに設定されるため、認証情報が機器に自動的に渡されることとなる。
トップページが表示された後、ユーザーがユーザー変更(例えば、別ユーザ名への変更)をするために、ユーザー切替ボタン(図7の44a)、図7に示すログオンボタン44cを操作すると、図10のシーケンスに従い、ユーザー切替を実施する。
そして、図10に示すように、認証が成功した場合のみセッションを作成し(つまり、クライアントPC40のWebブラウザに対して一意にセッションが作成され)、クライアントPC40のWebブラウザとの接続を管理するため、各ページ間で認証情報を含むユーザー情報を共有化する。
ユーザーがユーザー変更(ユーザー切替)を要求した場合(図10では「saiji」から「taka」に変更)、作成されたセッションを破棄するとともに、Webアプリケーションは、401エラーを送信させることによって、クライアントPC40にベーシック認証画面を表示させ、ユーザーは、別ユーザー名(別アカウント:図10では「taka」)とパスワードとによって、ユーザー切替を可能とする。
図10に示すユーザー切替では、各Webページファンクション6が複数のプロセスを立ち上げ、プロセス毎にWebブラウザに対して1つのセッションを作成する。また、機器側では、ユーザーがWebブラウザを閉じ等により実質的にセッションを終了したとしても、その情報を得ることができないため、セッションがそのまま残ってしまわないように、タイムアウトによってそのセッションを破棄するように制御している。しかしながら、図10に示すシーケンスにおいて、正しく動作しない場合がある。
ここで、クライアントPCとウェブサーバー装置間のシーケンスにフォーカスする。図11は初期ログインの処理を示し、図12は再ログインの処理を示す。
多くのウェブブラウザ(例えば、Internet Explorer等)では、図11、12で示すシーケンスのように初期ログイン及び再ログイン時において、ウェブサーバー装置である情報処理装置100が認証エラー(“HTTPStatus="401認証エラー WWW-Authentication Basic realm=“Config")をクライアントPC40に返した場合に、それを受け取ったクライアントPC40のウェブブラウザは、図6の認証ダイアログを表示することによって、認証情報を再入力することができ、再びユーザー切替を実施することが可能になる。しかしながら、一部のウェブブラウザ(例えば、Netscape等)では、図13に示すシーケンスのように、認証エラー(“HTTPStatus="401認証エラー WWW-Authentication Basic realm=“Config")を受け取った場合に、認証ダイアログを表示せずに、以前の認証情報を再度ウェブサーバー装置に対して送ってしまうため、ユーザー切替を行うことができないという問題がある。なお、一度認証した後に認証エラーを受け取った場合、再度以前の認証情報を送信することは、認証後のページ推移などにおいても同様である。
上記問題は、ベーシック認証の特徴によるものであるが、ウェブブラウザによって動作が異なることは望ましくない。特に、ベーシック認証でユーザー切替を行っているウェブサーバー装置においては、ユーザー切替を行うことができなくなるため、望ましくない。
本発明は、上記事情に鑑みてなされたものであり、401エラーを受け取ったクライアントPCで再ログインする場合に、以前の認証情報を送信させないようにすることを目的とする。
かかる目的を達成するために、本発明はネットワークを介して接続されるクライアント装置のブラウザに認証情報をユーザーに入力させるペーシック認証画面を表示させ、ユーザーが入力した認証情報が設定されたリクエストのヘッダ情報を用いてユーザーを認証するウェブ認証サーバーにおいて、ブラウザから送信されたリクエストを受信するリクエスト受信手段と、リクエストが認証を要求する場合、セッションオブジェクトを生成するセッションオブジェクト生成手段と、ベーシック認証画面をブラウザに表示させる認証画面表示手段と、ベーシック認証画面から入力された入力情報に基づいてユーザーを認証するユーザー認証手段と、認証が成功した場合、セッションオブジェクトを破棄するセッションオブジェクト破棄手段と、認証が失敗した場合、ブラウザの種類を判断するブラウザ判断手段と、ブラウザの種類が、入力情報を保持し続けるブラウザであると判断した場合、一意になるように乱数を使用して認証情報を作成し、認証情報に、ログイン状態を示すログインステータス情報を設定する認証情報作成手段と、を有することを特徴とする。
本発明によれば、ウェブブラウザの種類に関わらず、再ログイン時のユーザー認証を確実に行うことが可能となる。
以下、本発明を実施するための最良の形態について添付図面を参照して詳細に説明する。
本発明の実施形態である情報処理装置は、プリンタ、FAX、コピー等の複数の異なる画像形成機能の少なくとも1つを有すると共に、複数のウェブアプリケーションによって画像形成に関する情報を提供することが可能な装置であり、ウェブサーバー装置として用いられる。
図4は、本発明の一実施形態に係る情報処理装置のハードウェア構成を示すブロック図である。図4において、情報処理装置100は、コンピュータによって制御される装置であって、CPU(中央処理装置)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、不揮発性RAM(non-volatile Random Access Memory)14と、リアルタイムクロック15、イーサネット(登録商標)I/F(Ethernet(登録商標) Interface)21と、USB(Universal Serial Bus)22と、IEEE(Institute of Electrical and Electronics Engineers)1284 23と、ハードディスクI/F24と、エンジンI/F25と、RS−232CI/F26と、ドライバ27とで構成され、システムバスBに接続される。情報処理装置100は、ウェブサーバーコンピュータとして動作する。
CPU11は、ROM12に格納されたプログラムに従って情報処理装置100を制御する。RAM13には、例えば、各インターフェース21から26に接続される資源に領域が割り当てられる。不揮発性RAM14には、情報処理装置100を制御するためにCPU11による処理で必要な情報が格納される。リアルタイムクロック15は、現時刻を計ると共に、処理を同期させる場合にCPU11によって使用される。
イーサネット(登録商標)I/F21には、10BASE−T又は100BASE−TX等のイーサネット(登録商標)用インターフェースケーブルが接続される。USB22には、USB用インターフェースケーブルが接続される。IEEE1284 23には、IEEE1284用インターフェースケーブルが接続される。
ハードディスクI/F24には、ハードディスク34が接続され、ネットワークを介して送信された印刷すべき文書の文書データ、又は、印刷処理後の画像データがハードディスクI/F24を介してハードディスク34に格納される。エンジンI/F25には、文書データに基づいて所定媒体に印刷を行うプロッタ35−1及び画像データを取り込むスキャナ35−2等が接続される。RS−232CI/F26には、オペレーションパネル36が接続され、ユーザーへの情報の表示及びユーザーから入力情報又は設定情報の取得が行われる。
情報処理装置100にて行われる処理に係るプログラムは、例えば、CD−ROM等の記憶媒体37によって情報処理装置100に提供される。即ち、該処理に係るプログラムが保存された記憶媒体37がドライバ27にセットされると、ドライバ27が記憶媒体26から当該プログラムを読み出し、その読み出されたプログラムがバスBを介してハードディスク34にインストールされる。そして、この処理が起動されると、ハードディスク34にインストールされた当該プログラムに従ってCPU11がその処理を開始する。なお、当該プログラムを格納する媒体として記憶媒体27をCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。
また、情報処理装置100にて行われる処理に係るプログラムを、イーサネット(登録商標)I/F21と、USB22と、IEEE1284 23などを介して通信手段によって外部からダウンロードするようにしてもよい。
次に、図4に示すようなハードウェア構成を有し、複数の異なる画像形成処理を可能とし、かつ、複数のWebアプリケーションを有するような情報処理装置100の機能構成について説明する。
図5は、情報処理装置の機能構成を示すブロック図である。図5において、情報処理装置100は、インターネット16を介してクライアントPC40と接続可能であって、クライアントPC40からのWebページを要求するWebページ要求に応じて、そのWebページ要求に対する応答として情報を提供するコンピュータである。説明の便宜上、情報処理装置100は、1台のクライアントPC40とインターネット16を介して接続される構成としているが、複数のクライアントPC40と接続可能である。クライアントPC40は、Webブラウザを有するコンピュータ端末(移動体通信端末を含む情報処理端末全般)である。
情報処理装置100は、主に、HTTP(Hyper Text Transfer Protocol)デーモン2と、Webアプリライブラリ110と、Webページライブラリ120と、ユーザー切替管理モジュール130と、セッションライブラリ132と、認証モジュール134と、Webページハンドラ200と、ネットワークライブラリ102と、不揮発性RAM14と、SOAP(Simple Object Access Protocol)ライブラリ201と、XML(eXtensible Markup Language)ライブラリ203と、XSLT(XSL Transformations)プロセッサ205と、複数のWebアプリケーションを有するWebページ機能(WPF)300とを有する。
情報処理装置100は、HTTPに従ってクライアントPC40から要求を受信し、その要求に対する応答としてその要求に応じた情報提供を行う。
HTTPデーモン2は、HTTPに従った通信制御を行う。つまり、HTTPデーモン2は、HTTPに従って、クライアントPC40からWebページ要求を受信し、クライアントPC40へWebページ要求に応じたHTML(HyperText Markup Language)応答を送信する。
Webアプリライブラリ110は、インターネット16を介して行われるデータの送受信の処理シーケンスと各Webアプリケーションとのデータの受け渡しの処理シーケンスとの違いを所定のシーケンス制御処理によって吸収する。Webアプリライブラリ110は、複数のWebアプリケーションに対して共通の処理部である。
Webページライブラリ120は、クライアントPC40からの要求の解析及びクライアントPC40への応答を生成し、Webページ機能300の複数のWebアプリケーションに対して共通の処理部である。Webページライブラリ120は、Webページハンドラ200にてXMLで記述された応答を、XSLTプロセッサ205によってHTMLによる表示形式に変換する。
また、Webページライブラリ120は、クライアントPC40からの要求に対する認証処理を、ユーザー切替管理モジュール130と、セッションライブラリ132と、認証モジュール134とで行う。
ユーザー切替管理モジュール130は、ユーザーによる初期アクセスに対して、セッションライブラリ132にセッションを作成し、認証モジュール132によってユーザー認証を行う。セッションライブラリ132は、初期アクセスによってセッションを作成後、その初期アクセスによるユーザー認証の終了までそのセッションを保持する。
認証モジュール134は、クライアントPC1から受信したユーザー名(アカウント)とパスワードとを用いて、予め登録されたユーザー情報に基づいて、ユーザー認証を行う。
Webページハンドラ200は、Webページ機能300が解釈可能な処理言語と、クライアントPC40との間で行われる要求及び応答による通信制御で解釈される処理言語との変換を行う処理部である。Webページハンドラ200は、Webページ要求に対応するWebページ機能300のWebアプリケーションをCGI(Common Gateway Interface)を介して関数コールする。また、Webページハンドラ200は、Webページ機能300から通知されたWebページ表示情報をXMLで記述するためにWebページ表示情報のシリアライズ要求をSOAPライブラリ201に対して行う。
ネットワークライブラリ102は、クライアントPC40との接続に関するHTTP接続情報を管理している。ネットワークライブラリ102は、このHTTP接続情報を不揮発性RAM14に格納し、必要に応じて参照する。Webページハンドラ200からWebページを提供する際に必要なパス情報の要求に応じて、HTTP接続情報で管理されるURLのパス情報をWebページハンドラ200へ提供する。
SOAPライブラリ201は、Webページハンドラ200からのWebページ表示情報のシリアライズ要求に応じて、XMLライブラリ203を用いて、C言語の変数で与えられたWebページ表示情報をXMLによって記述することによってデータ変換をしてシリアライズする。本実施形態において、シリアライズするとは、XMLによってWebページ機能300から通知されたWebページ表示情報を記述することである。シリアライズされたWebページ表示情報は、応答DOM(Document Object Model)としてWebページハンドラ200へ提供される。
XMLライブラリ203は、SOAPライブラリ201に利用されることによってXMLでWebページ表示情報をシリアライズする。また、XMLライブラリ203は、XSLTプロセッサ205に利用されることによって、Webページ表示情報を示すHTMLを生成する。
XSLTプロセッサ205は、Webページライブラリ120からの応答DOMのXSL変換要求に応じて応答HTMLを作成する。応答HTMLは、Webページライブラリ120へ提供される。
Webページ機能300の各Webアプリケーションは、Webページハンドラ200から関数コールされると、Webページ表示情報をWebページハンドラ200へ返す。
なお、ページ遷移とは、表示されているWebページから、そのWebページにリンクされる他のWebページを表示させることを言う。この場合、同一Webアプリケーションによって提供可能な複数のWebページ間でのページ遷移と、異なる複数のWebアプリケーションによって提供可能な複数のWebページ間でのページ遷移とを含む。
従来技術では、上記ユーザー切替管理モジュール及び上記認証モジュールは、図14、図15で示すような処理フローで処理を行っていた。
Login.cgiの呼び出しによって実行されるログイン処理について図14を参照して説明する。図14は、ログイン処理を説明するためのフローチャート図である。図14において、受信したリクエストのCookieのON/OFFをチェックする(ステップS51)。
CookieがOFFの場合(ステップS51/OFF)、Cookieエラーメッセージを出力し(ステップS52)、リクエストが正常に受信されたことを示す「200」を返す(ステップS53)。そして、「200」が設定されたレスポンスをクライアントに送信する(ステップS68)。
CookieがONの場合(ステップS51/ON)、所定関数をコールしてセッションオブジェクトを取得する(ステップS54)。そして、セッションオブジェクトとしてのセッション構造体の取得結果を判断する(ステップS55)。
取得結果が「NULL」である場合(ステップS55/NULL取得不可)、領域確保エラー等の何らかのサーバーエラーによってセッション構造体を取得できなかったと判断し、サーバーエラーを出力して(ステップS56)、サーバーがリクエストを処理できない状況であることを示す「503」を返す(ステップS57)。そして、「503」が設定されたレスポンスをクライアントに送信する(ステップS68)。
セッション構造体を取得できた場合(ステップS55/取得可)、新規セッションであるか否かをチェックする(ステップS58)。既存セッションのセッション構造体である場合(ステップS58/既存セッション)、ユーザー認証処理を実行する(ステップS59)。
認証結果をチェックする(ステップS60)。認証結果が失敗である場合(ステップS60/失敗)、ユーザー認証が必要であることを示す「401」を返す(ステップS67)。そして、「401」が設定されたレスポンスをクライアントに送信する(ステップS68)。
認証結果が認証成功を示す場合(ステップS60/成功)、トップページを作成し(ステップS61)、リクエストが正常に受信されたことを示す「200」を返す(ステップS62)。そして、「200」が設定され、かつ、トップページ情報を示すレスポンスをクライアントに送信する(ステップS68)。
次に、Login.cgiの呼び出しによって実行される、他のログイン処理について図15を参照して説明する。図15は他のログイン処理を示すフローチャートである。図15において、セッションのチェック(ステップS4)までは図14のログイン処理と同様の処理を行う(ステップS1〜S4、S14、S15、S16、S17)。
新規セッションである場合(ステップS4/新規セッション)、セッションを破棄し(ステップS18)、認証情報の再入力をユーザーに対して促すメッセージを出力し(ステップS19)、「408」を返す(ステップS20)。
既存セッションである場合(ステップS4/既存セッション)、セッション属性データの取得を行い(ステップS5)、データの取得エラーを確認する(ステップS6)。データ取得がエラーの場合(ステップS6/NG)、サーバーエラーを出力して(ステップS16)、サーバーがリクエストを処理できない状況であることを示す「503」を返す(ステップS17)。そして、「503」が設定されたレスポンスをクライアントPCに送信する。
データ取得がOKの場合(ステップS6/OK)、Login.cgiのコール回数(X)を確認する(ステップS7)。コール回数がない場合(ステップS7/X=0)、「401」を返す(ステップS10)。Xの値が「LOGIN_MAX_CNT」の値より大きい場合(ステップS7/X>LOGIN_MAX_CNT)、セッションを破棄し(ステップS18)、認証情報の再入力をユーザーに対して促すメッセージを出力し(ステップS19)、「408」を返す(ステップS20)。
Xの値が0より大きく、かつ「LOGIN_MAX_CNT」の値以下である場合(ステップS7/0<X≦LOGIN_MAX_CNT)、ユーザー認証処理を行い(ステップS8)、認証結果をチェックする(ステップS9)。認証が失敗である場合(ステップS9/失敗)、レスポンスとして「401」をクライアントPCへ返す(ステップS10)。
認証が成功である場合(ステップS9/成功)、セッションを破棄し(ステップS11)、ユーザーアカウントを切り替え、トップページを出力し(ステップS12)、リクエストが正常に受信されたことを示す「200」をレスポンスとしてクライアントPCへ返す(ステップS13)。
そして、上記図14及び図15に示す処理を行う従来の情報処理装置は、図11〜図13に示すように、401エラー(HTTP/1.1 401 Authorization Required WWW-Authenticate:Basic realm=“Config”)をクライアントPC40に対して返していた。そして、認証情報(WWW-Authenticate:Basic realm=“Config”)に関しては、常に固定の値“Config”を返していた。
本実施形態では、上記問題を解決するために、図15に示す認証モジュールの処理に新たな処理を追加した。新たに追加した処理(ステップS33、S34、S35)を図1に示す。
図1において、上記図15に示す処理と同様の処理を行う(ステップS21〜S32、S37〜S39、S40〜S43)。本実施形態では、ステップS27のコール回数(X)の確認でX=0である場合(ステップS27/X=0)、及び、ステップS29の認証結果のチェックで認証失敗である場合(ステップS29/失敗)において、ウェブブラウザの種類の判断を行う(ステップS33)。ここでの判断とは、上記問題が起きるブラウザであるかどうかの判断である。詳しくは、認証情報(入力された、ユーザー名やパスワード)の切り替えが可能であるブラウザ(例えば、Internet Explorer等)であるか、又は、同じ認証情報(入力された、ユーザー名やパスワード)を保持し続けるブラウザ(例えば、Netscape等)であるかを、ユーザーエージェント情報に基づいて判断し、本実施形態のウェブ認証方法の適用の要否を判断する。
ステップS33の判断において、認証情報の切り替えが可能であるブラウザであると判断した場合(ステップS33/不要)、従来の認証方法にて認証を行うものとし、「401」を返す(ステップS36)。同じ認証情報を保持し続けるブラウザであると判断した場合(ステップS33/必要)、本実施形態のウェブ認証方法が必要であると判断し、乱数(realmnumber:レルムナンバー)を取得し(ステップS34)、新たな認証情報を作成し(ステップS35)、「401」を返す(ステップS36)。
以上のように、本実施形態に係る認証モジュールは、初期アクセス(初期ログイン)の場合に、乱数を使用して新たな認証情報(HTTP/1.1 401 Authorization Required WWW-Authenticate:Basic realm=“XXXXXXXXXXXXXXXX"、“XXXXXXXXXXXXXXXX"は乱数で作成した認証情報)を動的に作成し、以後認証許可が出るまで、その認証情報を使用し、認証処理を行う。
また、本実施形態の情報処理装置は、ユーザー認証に成功した場合に、そのとき使用していた乱数情報をCookie情報(loginstatus:ログインステータス)に設定し、クライアントPCに渡すようにする。これによって、ユーザー認証が必要なページにアクセスした場合には、ブラウザにより、常に認証情報で使用した乱数を取得することができる。
また、本実施形態の情報処理装置は、ログアウト時に、ログイン認証時に設定したCookie情報を0に再設定し、設定されていた乱数情報を削除する。これによって、ユーザーが正しい認証処理を通ったか判断することができるようになる。
また、本実施形態の情報処理装置は、本実施形態のウェブ認証方法を適用が必要なブラウザであるか否かを、HTTPのヘッダに指定されるユーザーエージェント情報を利用して判断し、適用が必要なブラウザである場合には、本実施形態のウェブ認証方法を使用し、また、適用の必要がないブラウザである場合には、従来技術のウェブ認証方法を使用する。
なお、本実施形態では、ブラウザ毎の仕様の違いや仕様の変更に応じて、同様の認証アルゴリズムを必要最低限に変更によって対応することができる。また、メモリ等における新たな情報管理などを必要としない。
次に、本実施形態のウェブ認証方法について図2及び図3を参照して詳細に説明する。図2は初期ログイン時の処理を示し、図3はユーザー切替時の処理を示す。
まず、ゲストページ(Guest Page)のリクエストについて図2を参照して説明する。クライアントPC40のブラウザのURLに情報処理装置100のIPアドレスを入力し、情報処理装置100に対し、アクセスする。情報処理装置100は、「HTTPStatus=“200 OK”;default.cgi」をレスポンスとして返す。
次に、クライアントPC40は「MainFrame.cgiリクエスト」を送り、情報処理装置100は「HTTPStatus=“200 OK”MainFrame」をレスポンスとして返す。次に、クライアントPC40は「header.cgiリクエスト」を送り、情報処理装置100は「HTTPStatus=“200 OK”header」をレスポンスとして返す。次に、クライアントPC40は「menu.cgiリクエスト」を送り、情報処理装置100は「HTTPStatus=“200 OK”menu」をレスポンスとして返す。次に、クライアントPC40は「topPage.cgiリクエスト」を送り、情報処理装置100は「HTTPStatus=“200 OK”topPage」をレスポンスとして返す。そして、クライアントPC40にゲストページが出力される。ここまでは、図11〜図13に示す従来の処理と同様である。
初期ログイン時の処理について説明する。クライアントPC40の画面上に表示されたゲストページ(図7参照)のログインボタン44cが押下されると(ステップS101)、クライアントPC40は「PreLogin.cgiリクエスト」を送り、情報処理装置100は「HTTPStatus=“200 OK”PreLogin」をレスポンスとして返す。
次にクライアントPC40が「Login.cgiリクエスト」を送ると、情報処理装置100は乱数を使用し、認証領域(認証情報)を作成する(ステップS102)。そして、クライアントPC40に対し、401認証エラー、認証領域A、乱数Aを返す(ステップS103)。本実施形態では、例として、401認証エラーは「HTTP/1.0 401 Unauthorized」、認証領域Aは「WWW-Authenticate:Basic realm=“12345678"」、乱数Aは「Set-Cookie:realmnumber=123」とする。
クライアントPC40が、間違ったユーザー名「error」又は間違ったパスワード「error」を「Login.cgiリクエスト」として送る。この時、Cookie情報に設定されたrealmnumber=乱数Aも一緒に送る。そして、情報処理装置100は、再度認証を行う時は、Cookie上に設定された認証領域(Cookie乱数A)を基に再度同一領域を返す(ステップS104、S105)。この理由は、クライアントPC40上に毎回異なる領域を作成させないようにして無駄を省くためである。
クライアントPC40は、正しいユーザー名「network」及び正しいパスワード「network」、Cookie情報に設定されたrealmnumber=乱数Aを送信する。ここで、情報処理装置100は、正しいユーザー名と正しいパスワードの受信により認証OKとし、loginstatusを有効にする(ステップS106)。この時「Set-Cookie:loginstatus=乱数A」となる。そして、情報処理装置100は「200 OK Set-Cookie:loginstatus=乱数A」(HTTP/1 0 200OK Set-Cookie:loginstatus=1;path=/)を返す(ステップS107)。
そして、クライアントPC40は「MainFrame.cgiリクエスト」を送り、情報処理装置100は「HTTPStatus=“200 OK”MainFrame」をレスポンスとして返す。次に、クライアントPC40は「header.cgiリクエスト」を送り、情報処理装置100は「HTTPStatus=“200 OK”header」をレスポンスとして返す。次に、クライアントPC40は「menu.cgiリクエスト」を送り、情報処理装置100は「HTTPStatus=“200 OK”menu」をレスポンスとして返す。次に、クライアントPC40は「topPage.cgiリクエスト」を送り、情報処理装置100は「HTTPStatus=“200 OK”topPage」をレスポンスとして返す。そして、クライアントPC40にゲストページが出力される。なお、本実施形態では、クライアントPC40からの上記各リクエストとともに「Cookie=loginstatus=乱数A,realmnumber=乱数A」が情報処理装置100に送信される。
次に、ユーザー切替について図3を参照して説明する。まず、ログアウト処理について説明する。
クライアントPC40の画面にてログアウトボタン(図示せず)がクリック等により押下されると(ステップS201)、クライアントPC40は、「Logout.cgi要求」を「Cookie=loginstatus=乱数A,realmnumber=乱数A」とともに情報処理装置100へ送信する。
情報処理装置100は、このログアウト要求により、loginstatusを無効(0)にする(ステップS202)。そして、「ゲストMainFrame要求 Set-Cookie:loginstatus=0」を返す。
そして、クライアントPC40は「MainFrame.cgiリクエスト」を送り、情報処理装置100は「HTTPStatus=“200 OK”MainFrame」をレスポンスとして返す。次に、クライアントPC40は「header.cgiリクエスト」を送り、情報処理装置100は「HTTPStatus=“200 OK”header」をレスポンスとして返す。次に、クライアントPC40は「menu.cgiリクエスト」を送り、情報処理装置100は「HTTPStatus=“200 OK”menu」をレスポンスとして返す。次に、クライアントPC40は「topPage.cgiリクエスト」を送り、情報処理装置100は「HTTPStatus=“200 OK”topPage」をレスポンスとして返す。そして、クライアントPC40にゲストページが出力される。なお、本実施形態では、クライアントPC40からの上記各リクエストとともに「Cookie=loginstatus=0,realmnumber=乱数A」が情報処理装置100に送信される。
再ログインについて説明する。クライアントPC40の画面上に表示されたゲストページ(図7参照)のログインボタン44cが再び押下されると(ステップS203)、クライアントPC40は「PreLogin.cgiリクエスト」及び「Cookie=loginstatus=0,realmnumber=乱数A」を送り、情報処理装置100は「HTTPStatus=“200 OK”PreLogin」及び「Cookie=loginstatus=0」をレスポンスとして返す。クライアントPC40は「Login.cgiリクエスト」及び「Cookie=loginstatus=0,realmnumber=乱数A」を送ると、情報処理装置100は乱数を使用し、別の認証領域(認証情報)を作成する(ステップS204)。そして、クライアントPC40に対し、401認証エラー、認証領域D、乱数Dを返す。ここでは、「Cookie:loginstatus=0」、「Set-Cookie:realmnumber=乱数D」となる。
クライアントPC40は、認証ダイアログを表示する(ステップS205)。これは、認証領域が以前のものと異なるためである。そして、認証ダイアログから正入力された正しいユーザー名及び正しいパスワードが送信されると、情報処理装置100は認証OKとし、「Cookie:loginstatus=0」を「Cookie:loginstatus=乱数D」とする。そして、情報処理装置100は、「200 OK EntryMainFrame」をレスポンスとして返す。以降の処理は上記初期ログイン時と同様であり、クライアントPC40からの各リクエストとともに、「Cookie:loginstatus=乱数D realmnumber=乱数D」が情報処理装置100に対して送信される。
以上、本発明の実施形態によれば、従来、ベーシック認証は基本的にユーザーの切替を行う概念がなく、ユーザー切替を行う場合にはウェブサーバーは別の認証方式(フォーム認証)を選択する必要があったが、ベーシック認証を使用してもユーザー切替を行うことが可能になるため、容易にユーザー認証を行うことが可能になる。
また、本発明の実施形態によれば、認証処理時のみユーザー情報を管理するため、認証許可後、サーバー側で認証に関する情報を保持する必要がないので、組み込みのウェブサーバーのように、記憶容量の限界を考慮しなければならないサーバー装置においては、メモリの使用量を大きく減らすことができる。
また、本発明の実施形態によれば、認証情報をステータスとしてCookie情報に設定するので、不正アクセスを認識することができるとともに、認証情報が一意な情報であるため、ユーザーの接続毎に異なる表示が可能になる。
以上、本発明の実施形態について説明したが、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変形が可能である。
本発明の実施形態に係るユーザー認証処理を示すフローチャートである。 本発明の実施形態に係るユーザー認証処理を示すシーケンスチャートである。 本発明の実施形態に係るユーザー認証処理を示すシーケンスチャートである。 本発明の実施形態である情報処理装置のハードウェア構成を示すブロック図である。 本発明の実施形態である情報処理装置の機能構成を示すブロック図である。 ベーシック認証画面の例を示す図である。 クライアントPCに表示される画面の例を示す図である。 セッションオブジェクト情報の例を示す図である。 初期ログインによるユーザー認証処理を示すシーケンスチャートである。 ユーザー切替によるユーザー認証処理を示すシーケンスチャートである。 従来のウェブ認証方法を示すシーケンスチャートである。 従来のウェブ認証方法を示すシーケンスチャートである。 従来のウェブ認証方法を示すシーケンスチャートである。 従来技術のユーザー認証処理の一例を示すフローチャートである。 従来技術のユーザー認証処理の一例を示すフローチャートである。
符号の説明
2 HTTPデーモン
11 CPU
12 ROM
13 RAM
14 不揮発性RAM
15 リアルタイムクロック
16 ネットワーク
21 Ethernet(登録商標)I/F
22 USBI/F
23 IEEE1284
24 ハードディスクI/F
25 エンジンI/F
26 RS−232CI/F
34 ハードディスク
35−1 プロッタ
35−2 スキャナ
36 オペレーションパネル
40 クライアントPC
44 PC画面
44a ユーザー切替ボタン
44b トップページ領域
44c ログオンボタン(ログインボタン)
100 情報処理装置
102 ネットワークライブラリ
110 Webアプリライブラリ
120 Webページライブラリ
130 ユーザー切替管理モジュール(ブラウザ判断手段、認証情報作成手段)
132 セッションライブラリ
134 認証モジュール(ブラウザ判断手段、認証情報作成手段)
200 Webページハンドラ
201 SOAPライブラリ
203 XMLライブラリ
205 XSLTプロセッサ
300 Webページファンクション(WPF)

Claims (8)

  1. ネットワークを介して接続されるクライアント装置のブラウザに認証情報をユーザーに入力させるペーシック認証画面を表示させ、該ユーザーが入力した該認証情報が設定されたリクエストのヘッダ情報を用いて該ユーザーを認証するウェブ認証サーバーにおいて、
    前記ブラウザから送信された前記リクエストを受信するリクエスト受信手段と、
    前記リクエストが認証を要求する場合、セッションオブジェクトを生成するセッションオブジェクト生成手段と、
    前記ベーシック認証画面を前記ブラウザに表示させる認証画面表示手段と、
    前記ベーシック認証画面から入力された入力情報に基づいて前記ユーザーを認証するユーザー認証手段と、
    前記認証が成功した場合、前記セッションオブジェクトを破棄するセッションオブジェクト破棄手段と、
    前記認証が失敗した場合、前記ブラウザの種類を判断するブラウザ判断手段と、
    前記ブラウザの種類が、前記入力情報を保持し続けるブラウザであると判断した場合、一意になるように乱数を使用して認証情報を作成し、該認証情報に、ログイン状態を示すログインステータス情報を設定する認証情報作成手段と、
    を有することを特徴とするウェブ認証サーバー。
  2. 前記認証情報作成手段は、前記認証情報を、前記ブラウザのクッキー機能に設定することを特徴とする請求項1記載のウェブ認証サーバー。
  3. 前記認証情報作成手段は、前記認証情報を、ユーザー切替のリクエストを受信する毎に作成することを特徴とする請求項1又は2記載のウェブ認証サーバー。
  4. 前記認証情報作成手段は、前記セッションオブジェクトは、ユーザー切替のリクエストを受信した時から前記認証が許可されるまでの間、又は有効期限内の間のうちいずれかにおいて管理することを特徴とする請求項1から3のいずれか1項に記載のウェブ認証サーバー。
  5. 前記ユーザー認証手段によって認証が成功した場合、前記リクエストで指定されるページに表示するページ情報を生成するページ情報生成手段と、
    前記ページ情報生成手段によって生成されたページ情報を前記ブラウザにて表示可能な形式に変換する変換手段と、
    をさらに有することを特徴とする請求項1から4のいずれか1項に記載のウェブ認証サーバー。
  6. 前記セッションオブジェクト破棄手段は、タイムアウトしたセッションオブジェクトを破棄することを特徴とする請求項1から5のいずれか1項に記載のウェブ認証サーバー。
  7. 前記リクエストによってページ遷移する場合、前記セッションオブジェクト生成手段及び前記認証画面表示手段の実行を抑止し、前記ユーザー認証手段を直接実行することを特徴とする請求項1から6のいずれか1項に記載のウェブ認証サーバー。
  8. 異なるプロセスで動作する複数のサブウェブアプリケーションをまとめて一のウェブアプリケーションとして提供しているウェブアプリケーションにおいて、各プロセス間共通のベーシック認証を利用して、前記ユーザーを認証することを特徴とする請求項1から7のいずれか1項に記載のウェブ認証サーバー。
JP2005006821A 2005-01-13 2005-01-13 ウェブ認証サーバー Expired - Fee Related JP4679908B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005006821A JP4679908B2 (ja) 2005-01-13 2005-01-13 ウェブ認証サーバー

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005006821A JP4679908B2 (ja) 2005-01-13 2005-01-13 ウェブ認証サーバー

Publications (2)

Publication Number Publication Date
JP2006195750A JP2006195750A (ja) 2006-07-27
JP4679908B2 true JP4679908B2 (ja) 2011-05-11

Family

ID=36801797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005006821A Expired - Fee Related JP4679908B2 (ja) 2005-01-13 2005-01-13 ウェブ認証サーバー

Country Status (1)

Country Link
JP (1) JP4679908B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011081762A (ja) 2009-03-10 2011-04-21 Ricoh Co Ltd 機器設定装置及び機器設定装置における機器再設定方法
WO2016060793A1 (en) 2014-10-14 2016-04-21 Becton, Dickinson And Company Blood sample management using open cell foam

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003085140A (ja) * 2001-09-13 2003-03-20 Yokogawa Electric Corp クライアント認証方法
JP2004234640A (ja) * 2003-01-08 2004-08-19 Ricoh Co Ltd 情報提供装置,情報提供処理システム,画像形成装置、情報提供方法および不正利用防止方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003085140A (ja) * 2001-09-13 2003-03-20 Yokogawa Electric Corp クライアント認証方法
JP2004234640A (ja) * 2003-01-08 2004-08-19 Ricoh Co Ltd 情報提供装置,情報提供処理システム,画像形成装置、情報提供方法および不正利用防止方法

Also Published As

Publication number Publication date
JP2006195750A (ja) 2006-07-27

Similar Documents

Publication Publication Date Title
US8699052B2 (en) Image forming apparatus, control method, and program
US8005808B2 (en) Information processing apparatus and information processing method
US7689830B2 (en) Communications apparatus and service providing technique using communications apparatus
US6918041B1 (en) System and method of network communication with client-forced authentication
JP5988699B2 (ja) 連携システム、その連携方法、情報処理システム、およびそのプログラム。
US20050102281A1 (en) Information processing apparatus and information processing method
KR20130043064A (ko) 인쇄 시스템 및 인쇄 방법
JP2002334056A (ja) ログイン代行システム及びログイン代行方法
US7395338B2 (en) Information processing apparatus and session management method
US9710676B2 (en) Data processing apparatus, information processing apparatus, and storage medium
US7752438B2 (en) Secure resource access
US10713098B2 (en) Information processing apparatus and cookie information management method
JP2011242992A (ja) 情報処理装置、文書管理装置、印刷出力方法、及びコンピュータプログラム
JP4873898B2 (ja) ウェブ認証方法及びウェブ認証サーバー
JP4679908B2 (ja) ウェブ認証サーバー
JP4730604B2 (ja) 画像形成装置
JP2007156906A (ja) Url作成方法及び情報処理装置
JP2004072131A (ja) ネットワークファクシミリ装置
JP2004103008A (ja) 情報処理装置及び情報処理方法
JP5930602B2 (ja) 情報処理システム、情報処理装置、及びそれらの制御方法
US11956227B2 (en) Communication device, non-transitory computer-readable recording medium storing computer-readable instructions for communication device, and method performed by communication device for changing a password
US11621838B2 (en) Information processing device and system
US11943327B2 (en) System, server device, and terminal device
US11902147B2 (en) Remote access system, remote access control method, and non-transitory recording medium
JP4496492B2 (ja) Webサービスのための情報処理システムおよび情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110125

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110202

R150 Certificate of patent or registration of utility model

Ref document number: 4679908

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees