説明

ウェブ認証システムと方法およびプログラム

【課題】動的URLで特定されるWebページ(動的ウェブページ)に対するベーシック認証の利用を可能とする。
【解決手段】ブラウザ101から送信されてきたベーシック認証情報がデータベース300において予め記憶装置に記憶されているか否かを確認することで認証を行う際、サーバ装置200は、URL判断部201により、ブラウザから送信されてきたURLにおけるドメイン部分以降の情報を取得し、取得した情報が予めデータベース300においてベーシック認証の対象として対応付けて記憶されているか(Yes)否か(No)を判定し、判定結果がYesであれば、ID/PASS判断部202により、ベーシック認証画面をブラウザ101に返送して、当該ベーシック認証画面を用いたベーシック認証を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インターネットやイントラネットにおけるWebページ(ウェブページ)に対する認証技術に係り、特に、動的URL(Uniform Resource Locator)で特定されるWebページ(動的ページ)に対するベーシック認証を可能とする技術に関するものである。
【背景技術】
【0002】
近年、インターネットやイントラネット等のネットワークを介して接続されるクライアントPC(パーソナルコンピュータ)のウェブブラウザにウェブページとして、様々な情報がサーバ側のコンピュータ装置から送信され表示されるようになってきた。
【0003】
情報の種類によっては、無差別にアクセスしてくるユーザ全てに提供することが出来ないものも多い。従って、サーバ側コンピュータ装置では、そのような情報を提供する前にクライアント側コンピュータ装置のユーザを認証し、認証が成功した場合にのみ、当該情報提供を行うように制御されている。
【0004】
このようなユーザ認証技術としては、例えば、特許文献1等にも記載のベーシック認証がある。このベーシック認証における認証処理の流れは以下のようになる。
【0005】
サーバは、クライアント側(ブラウザ)がリクエスト(要求)してきたページ(Webページ)が認証を必要とするか否かを判定し、認証が必要なページに対するリクエストであれば、401レスポンスコードを返し、認証領域(authentication realm)や認証方式(Basic認証)に関する情報をクライアント側に通知する。
【0006】
通知を受けたクライアント(ブラウザ)は、認証領域をユーザに提示して、ユーザ名とパスワードの入力を求め、それぞれ入力されると、認証ヘッダを含めたリクエスト(URL)をサーバ側に再送信する。
【0007】
クライアント側からの認証ヘッダを含めたリクエストを受信したサーバは、認証ヘッダに含まれるユーザ名とパスワードが、当該ページの正規の提供先として記憶装置に登録されていれば、当該ページをクライアント側に送信する。もし、ユーザ名とパスワードが正規に登録されていなければ、クライアントに対して再び401レスポンスコードを返し、クライアント側におけるユーザ名とパスワードの再入力を要求する。
【0008】
しかし、このベーシック認証技術では、動的URLで特定されるページ(動的ページ)での認証ができない。例えば、動的URLである「http://xxx.com/xxx.jsp?cnt=aaa.jsp&fp=/bbb/ccc/」における「?」や「=」などの記号を使って引数のパラメータ値を変化させることでページを変化させるための「?cnt=aaa.jsp&fp=/bbb/ccc/」の部分を解釈することができず、このような動的ページに対してベーシック認証を適用することができない。
【0009】
【特許文献1】特開2006−195750号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
解決しようとする問題点は、従来のベーシック認証技術では、動的URL(動的アドレス)における「?」や「=」などの特徴的な記号を含む部分を解釈することができない点である。
【0011】
本発明の目的は、これら従来技術の課題を解決し、動的URLで特定される動的ページに対するベーシック認証を可能とすることである。
【課題を解決するための手段】
【0012】
上記目的を達成するため、本発明では、(1)ブラウザからリクエスト(要求)されたウェブページに対するベーシック認証を行う際、ブラウザから送信されてきたURLにおけるドメイン部分以降の情報を取得し、この情報が予め記憶装置においてベーシック認証の対象として対応付けて記憶されているか(Yes)否か(No)を判定し、この判定結果がYesであれば、ベーシック認証画面をブラウザに返送して、当該ベーシック認証画面を用いたベーシック認証を行う。(2)尚、この処理は、まずブラウザから送信されてきたURLにおけるドメイン部が予め記憶装置において記憶されているか(Yes)否か(No)を判定し、判定結果がYesの場合に実行する。(3)また、ベーシック認証で正常に認証されたブラウザから送信されてきたURLが動的URLもしくは静的URLのいずれであるかを判別し、静的URLであれば当該URLを動的URLに変換し、変換した動的URLに対応するウェブページをブラウザに返送する。
【発明の効果】
【0013】
本発明によれば、動的URLで特定されるWebページ(動的ウェブページ)に対するベーシック認証の利用が可能となる。
【発明を実施するための最良の形態】
【0014】
以下、図を用いて本発明を実施するための最良の形態例を説明する。図1は、本発明に係るウェブ認証システムを設けたネットワークサービスシステムの構成例を示すブロック図であり、図2は、図1におけるURL判断部の処理動作例を示すフローチャート、図3は、図1におけるID/PASS判断部の処理動作例を示すフローチャート、図4は、図1におけるURL生成判断部の処理動作例を示すフローチャート、図5は、図1における表示判定部の処理動作例を示すフローチャート、図6は、図1における認証管理テーブルの構成例を示す説明図、図7は、図1における認証ユーザテーブルの構成例を示す説明図である。
【0015】
図1において、端末装置(図中「端末」と記載)100とサーバ装置(図中「サーバ」と記載)200は、図示していないインターネットやイントラネット等のネットワークを介して接続されており、それぞれ、CPU(Central Processing Unit)や主メモリ、表示装置、入力装置、外部記憶装置等を具備したコンピュータ構成からなり、光ディスク駆動装置等を介してCD−ROM等の記憶媒体に記録されたプログラムやデータを外部記憶装置内にインストールした後、この外部記憶装置から主メモリに読み込みCPUで処理することにより、各処理部の機能を実行する。
【0016】
このようなプログラムされたコンピュータ処理機能として、端末装置100はブラウザ(図中「Webブラウザ」と記載)101を具備し、サーバ装置200は、URL判断部201とID/PASS判断部202、URL生成判断部203、表示判定部204、および、認証管理テーブル301と認証ユーザテーブル302の記憶管理制御を行うデータベース(図中「DB」と記載)300を具備している。
【0017】
サーバ装置200は、このような構成により、本例のウェブ認証システムとしての処理を実行する。
【0018】
すなわち、ネットワークで接続されたコンピュータ装置である端末装置100のブラウザ101から送信されてきたベーシック認証情報がデータベース300において予め記憶装置に記憶されているか否かを確認することで認証を行う際、サーバ装置200は、URL判断部201により、ブラウザ101から送信されてきたURLにおけるドメイン部分以降の情報を取得し、取得した情報が予めデータベース300においてベーシック認証の対象として対応付けて記憶されているか(Yes)否か(No)を判定する。
【0019】
このURL判断部201による判定結果がYesであれば、ID/PASS判断部202により、ベーシック認証画面をブラウザ101に返送して、当該ベーシック認証画面を用いたベーシック認証を行う。
【0020】
尚、このような処理の前に、URL判断部201は、ブラウザ101から送信されてきたURLにおけるドメイン部がデータベース300により記憶装置に記憶されているか(Yes)否か(No)を判定し、判定結果がYesの場合に、上述のように、URLにおけるドメイン部分以降の情報を用いたベーシック認証を実行する。また、判定結果がNoであれば、表示判定部204により、エラーメッセージをブラウザ101に返送する。
【0021】
また、ID/PASS判断部202によるベーシック認証で当該ユーザの正当性が認証されると、URL生成判断部203により、正常に認証されたブラウザから送信されてきたURLが動的URLもしくは静的URLのいずれであるかを判別し、静的URLであるかと判別した場合には、当該URLを動的URLに変換する。
【0022】
そして、表示判定部204により、URL生成判断部203が変換した動的URLに対応するウェブページ、および、URL生成判断部203が動的URLであるかと判別したURLに対応するウェブページをブラウザ101に返送する。
【0023】
このように、サーバ装置200においては、URL判断部201、ID/PASS判断部202、URL生成判断部203、表示判定部という4つの機能と、認証管理テーブル301、認証ユーザテーブル302という2つのデータベーステーブルが設けられ、これらのプログラムされたコンピュータ処理機能により本発明に係るウェブ認証システムの処理を実行する。
【0024】
例えば、URL判断部201により、ブラウザ101からの情報を取得し、URLの状態によってID/PASS判断部202および表示判定部204に情報を引き渡す。
【0025】
ID/PASS判断部202により、データベース200が記憶管理している認証ユーザテーブル302や認証管理テーブル301を用いて認証の正当性を判断する。
【0026】
URL生成判断部203により、ブラウザ101からのリクエストが従来の静的URLによるリクエストか動的URLによるリクエストな否かを判断する。
【0027】
そして、表示判定部204により、正常な場合と不当な場合のそれぞれの場合に応じて、ブラウザ101に対してリクエストを返して一連の処理を終了させる。
【0028】
このようなウェブ認証システムにおけるURL判断部201の処理動作を図2を用いて説明する。
【0029】
このURL判断部201の処理は、ブラウザ101からリクエストで送信されてきたURLが認証対象のWebサイトか否かの判断を行い、さらに、判断結果に基づき認証管理テーブル301を検索して認証対象かどうかの判断を行うものである。
【0030】
まず、ブラウザ101からのリクエストURLを取得し(ステップS201)、取得したリクエストURLが既存のURLなのかをチェックする(ステップS202)。ここでは、ウェブ認証システムで利用するURLのドメイン部を固定でプロパティファイルに保存しておき、ブラウザ101からのリクエストURLとプロパティファイルに保存してあるURLとの突合せ(照合)を行う。
【0031】
リクエストURLの例として、例えば、「http://xxx.xxx.com/aaa/aaa.html」があり、このリクエストURLにおけるドメイン部は「http://xxx.xxx.com/aaa/」である。また、プロパティファイルに保存しておくURLは例えば「http://xxx.xxx.com/aaa/」である。
【0032】
突合せ(照合)の結果、リクエストURLにおけるドメイン部がプロパティファイルに保存しておらず、イコールで無い(No)場合には、err−flgに「1」をセットして表示判定部204に処理を引き渡し処理を終了する(ステップS206)。
【0033】
照合の結果、リクエストURLにおけるドメイン部がプロパティファイルに保存されており、イコールであれば(Yes)、リクエストURLのドメイン部以降の情報を取得する(ステップS203)。例えば、「http://xxx.xxx.com/aaa/aaa.html」における「/aaa.html」を取得する。
【0034】
そして、取得した情報を基に認証管理テーブル301を検索し(ステップS204)、当該情報が存在するか(Yes)否か(No)をチェックする(ステップS205)。
【0035】
例えば、リクエストURLが「http://xxx.xxx.com/aaa.jsp?cnt=bbb.jsp&fp=/products/mpumcu」であれば、ドメイン部は「http://xxx.xxx.com/aaa.jsp?cnt=bbb.jsp&fp=」であり、ドメイン部以降の情報は「/products/mpumcu」である。
【0036】
ステップS205での処理において、認証管理テーブル301に,認証対象アドレス(「/products/mpumcu」)が存在しない場合、ステップS206の処理に移って表示判定部204に処理を引き渡し処理を終了するが、認証対象アドレスが存在する場合には、ID/PASS判断部202に処理を引き渡して処理を終了する(ステップS207)。
【0037】
以下、このID/PASS判断部202における処理を、図3を用いて説明する。この処理は、既存のIDとパスワードを検索キーに用いて、図7に詳細を示す認証ユーザテーブル302aを検索し,認証対象のユーザか否かを判断するものである。
【0038】
ID/PASS判断部202は、ブラウザ101に対してID入力欄とパスワード入力欄を具備した入力ボックスを表示させ、当該入力ボックスに、ユーザに認証に必要なIDとパスワードを入力させる(ステップS301)。
【0039】
ステップS301の処理で入力したIDとパスワードを取得して(ステップS302)、ベーシック認証チェックを行う。すなわち、図7に詳細を示す認証ユーザテーブル302aおよび図6に詳細を示す認証管理テーブル301aを検索し(ステップS303)、取得したIDとパスワードの組が存在するか(Yes)否か(No)を判断する(ステップS304)。
【0040】
このチェック処理結果で、ユーザが入力したIDとパスワードが異なる(No)と判断した場合には、err−flgに「2」をセットし、ステップS305の処理に移って表示判定部204に処理を引き渡し処理を終了する。
【0041】
ベーシック認証チェックの結果、ユーザが入力したIDとパスワードが正しい(Yes)と判断した場合には、認証ユーザテーブル302aから認証権限ID(AUTH_ID)を取得し、取得した認証権限IDを用いて認証管理テーブル301a上の認証フォルダ(DIR_PARAM)を取得し(ステップS306)、取得した認証フォルダと、図2のステップS203の処理において取得したドメイン部以降の情報とを照合し(ステップS307)、一致した場合には、ステップS308の処理に移って、URL生成判断部203に処理を引き渡して処理を終了する。
【0042】
以下、このURL生成判断部203における処理を、図4を用いて説明する。この処理は、図2におけるステップS201で取得したリクエストURLについて正常な形式で表示する為のものである。
【0043】
まず、図2におけるステップS201で取得したリクエストURLが静的ページなのか動的ページなのかを判定する(ステップS401)。
【0044】
例えば、動的ページを特定するURLは、「http://xxx.xxx.com/aaa.jsp?cnt=bbb.jsp&fp=/products/mpumcu」のように、ドメイン部とフォルダ部の間にパラメータおよび記号(?,=)が入っており、動的ページは、パラメータを変更することでページの表示形態が動的に切り替わる。
【0045】
また、静的ページを特定するURLは「http://xxx.xxx.com/aaa/aaa.html」であり、基本的にドメイン部とフォルダ部の間にパラメータおよび記号が入っておらず、当該URLにより固定的なページが表示される。
【0046】
ステップS401での判定処理結果において、動的ページであると判断した場合(ステップS402)、当該動的URLと共に表示判定部204に処理を引渡して処理を終了する(ステップS404)が、静的ページであると判断した場合には、動的URLへの変換を行い、変換した動的URLと共に表示判定部204に処理を引渡して処理を終了する(ステップS404)。
【0047】
静的URLの動的URLへの変換は、例えば、従来技術の「.htaccess」ファイル等を用いて行う。以下に、静的ページの動的ページへの変換例を示す。
【0048】
リクエストURLが「http://xxx.xxx.com/aaa/aaa.html」の静的URLであれば、これを「http://xxx.xxx.com/aaa.jsp?cnt=bbb.jsp&fp=/aaa/aaa.html」と変換する。
【0049】
すなわち、リクエストされた静的URLをドメイン部(http://xxx.xxx.com/)とフォルダ部(aaa/aaa.html)に分け、その間に動的パラメータ(aaa.jsp?cnt=bbb.jsp&fp=)をセットすることで、変換後URL(「http://xxx.xxx.com/aaa.jsp?cnt=bbb.jsp&fp=/aaa/aaa.html」)を生成する。
【0050】
次に、表示判定部204における処理を、図5を用いて説明する。この処理は、URL判断部201とID/PASS判断部202およびURL生成判断部203のそれぞれの処理結果に応じた情報をユーザに返すものである。
【0051】
まず、表示判定部204は、エラー(err−flg)の有無を判断する(ステップS501)。エラーが存在する場合(ステップS502の「Yes」)、該当するerr−flgに応じたエラーメッセージを生成してブラウザ101に表示させて処理を終了する(ステップS505)。
【0052】
例えば、「err−flg=1」の場合には、該当ページが存在しない意味合いのエラーメッセージを生成して表示し、また、「err−flg=2」の場合には、ID/パスワードが間違っている意味合いのエラーメッセージを生成して表示する。
【0053】
ステップS502での判定結果が「No」でエラーが存在しない場合には、リクエストURLで特定されるページをブラウザ101に送信して表示させ(ステップS504)、処理を終了する(ステップS505)。
【0054】
以上、図1〜図7を用いて説明したように、本例では、サーバ装置200内に、プログラムされたコンピュータ処理を実行する手段として、URL判断部201、ID/PASS判断部202、URL生成判断部203、表示判定部204、データベース300を設けて、ウェブ認証システムを構成している。
【0055】
そして、このような構成により、本例のウェブ認証システムは、ネットワークを介して接続された端末装置100におけるブラウザ101からリクエスト(要求)されたウェブページに対するベーシック認証を行う際、ブラウザ101から送信されてきたURLにおけるドメイン部分以降の情報を取得し、この情報が予めデータベースにおいてベーシック認証の対象として対応付けて記憶管理されているか(Yes)否か(No)を判定し、この判定結果がYesであれば、ベーシック認証画面をブラウザ101に返送して、当該ベーシック認証画面を用いたベーシック認証を行う。
【0056】
尚、この処理は、まずブラウザ101から送信されてきたURLにおけるドメイン部が予めデータベース300において記憶管理されているか(Yes)否か(No)を判定し、判定結果がYesの場合に実行する。
【0057】
また、ベーシック認証で正常に認証されたブラウザ101から送信されてきたURLが動的URLもしくは静的URLのいずれであるかを判別し、静的URLであれば当該URLを動的URLに変換し、変換した動的URLに対応するウェブページをブラウザ101に返送する。
【0058】
このように、本例では、予めデータベースにおいて登録管理されているフォルダ部分でのURL情報に関するパラメータを利用することで認証の要否を判別しており、このことにより、Webサイト構築時に動的に切り替わるサイトを構築した場合でも、従来行うことが困難だった各ブラウザが標準で具備したベーシック認証を利用したユーザ認証を行うことが可能である。
【0059】
尚、本発明は、図1〜図7を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、サーバ装置にネットワーク接続された端末装置は1台のみを示しているが、サーバ装置に複数の端末装置をネットワーク接続した構成としても良い。
【0060】
また、サーバ装置200内の構成にしても、データベース300を他のコンピュータ装置に設けた構成としても良い。
【0061】
また、本例でのコンピュータ構成例に関しても、キーボードや光ディスクの駆動装置の無いコンピュータ構成としても良い。また、本例では、光ディスクを記録媒体として用いているが、FD(Flexible Disk)等を記録媒体として用いることでも良い。また、プログラムのインストールに関しても、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールすることでも良い。
【図面の簡単な説明】
【0062】
【図1】本発明に係るウェブ認証システムを設けたネットワークサービスシステムの構成例を示すブロック図である。
【図2】図1におけるURL判断部の処理動作例を示すフローチャートである。
【図3】図1におけるID/PASS判断部の処理動作例を示すフローチャートである。
【図4】図1におけるURL生成判断部の処理動作例を示すフローチャートである。
【図5】図1における表示判定部の処理動作例を示すフローチャートである。
【図6】図1における認証管理テーブルの構成例を示す説明図である。
【図7】図1における認証ユーザテーブルの構成例を示す説明図である。
【符号の説明】
【0063】
100:端末装置、101:ブラウザ、200:サーバ装置、201:URL判断部、202:ID/PASS判断部、203:URL生成判断部、204:表示判定部、300:データベース、301,301a:認証管理テーブル、302,302a:認証ユーザテーブル。

【特許請求の範囲】
【請求項1】
プログラムされたコンピュータ処理によって、ネットワークで接続されたコンピュータ装置のブラウザから送信されてきたベーシック認証情報が予め記憶装置に記憶されているか否かを確認することで認証を行うウェブ認証システムであって、
プログラムされたコンピュータ処理を実行する手段として、
上記ブラウザから送信されてきたURLにおけるドメイン部分以降の情報を取得する第1の手段と、
該第1の手段で取得した情報が予め記憶装置においてベーシック認証の対象として対応付けて記憶されているか(Yes)否か(No)を判定する第2の手段と、
該第2の手段の判定結果がYesであれば、ベーシック認証画面を上記ブラウザに返送して、当該ベーシック認証画面を用いたベーシック認証を行う第3の手段と
を有することを特徴とするウェブ認証システム。
【請求項2】
請求項1に記載のウェブ認証システムであって、
プログラムされたコンピュータ処理を実行する手段として、
上記ブラウザから送信されてきたURLにおけるドメイン部が、予め記憶装置において記憶されているか(Yes)否か(No)を判定する第4の手段と、
該第4の手段の判定結果がNoであれば、エラーメッセージを上記ブラウザに返送する第5の手段とを有し、
該第4の手段の判定結果がYesであれば、上記第1の手段からの処理を実行することを特徴とするウェブ認証システム。
【請求項3】
請求項1もしくは請求項2のいずれかに記載のウェブ認証システムであって、
上記第3の手段によるベーシック認証で正常に認証されたブラウザから送信されてきたURLが動的URLもしくは静的URLのいずれであるかを判別する第6の手段と、
該第6の手段が静的URLであるかと判別したURLを動的URLに変換する第7の手段と、
該第7の手段が変換した動的URLに対応するウェブページを上記ブラウザに返送すると共に、上記第6の手段が動的URLであるかと判別したURLに対応するウェブページを上記ブラウザに返送する第8の手段と
を有することを特徴とするウェブ認証システム。
【請求項4】
プログラムされたコンピュータ処理によって、ネットワークで接続されたコンピュータ装置のブラウザから送信されてきたベーシック認証情報が予め記憶装置に記憶されているか否かを確認することで認証を行うサーバコンピュータ装置のウェブ認証方法であって、
上記サーバコンピュータ装置は、プログラムされたコンピュータ処理を実行する手段として、請求項1から請求項3のいずれかに記載のウェブ認証システムにおける各手段を具備し、
具備した各手段が実行する処理により、上記ブラウザから送信されてきた動的URLを含むURLで特定されるウェブページに対するベーシック認証を行うことを特徴とするウェブ認証方法。
【請求項5】
コンピュータを、請求項1から請求項3のいずれかに記載のウェブ認証システムにおける各手段として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2010−39627(P2010−39627A)
【公開日】平成22年2月18日(2010.2.18)
【国際特許分類】
【出願番号】特願2008−199835(P2008−199835)
【出願日】平成20年8月1日(2008.8.1)
【出願人】(000152985)株式会社日立情報システムズ (409)
【Fターム(参考)】