Cosminexus 機能解説

[目次][用語][索引][前へ][次へ]

4.13.2 ロールに基づくWebコンテナのユーザ認証

Webコンテナはロールという仕組みに基づいて認証処理をします。ロールは,ユーザを管理するための単位です。各ユーザに一つ以上設定されます。一方,Webアプリケーションではコンテキスト内の特定のURLごとに,そのURLへアクセスするのに必要なロールを定義できます。認証処理は,Webクライアントが制限されたURLへリクエストをする場合に,次に示す二つの段階を踏みます。

両方の判定で正当と認められたユーザだけが,制限されたURLへアクセスできます。

アクセスするのに必要なロールは,J2EEアプリケーションに含まれるDD(WEB-INF/web.xml)内の<security-constraint>タグに指定します。J2EEアプリケーションの設定については,マニュアル「Cosminexus システム構築ガイド」を参照してください。

<この項の構成>
(1) ユーザ情報の管理
(2) コンテナセキュリティとアクセス権管理
(3) プログラムセキュリティ
(4) 認証機能を併用するときの注意

(1) ユーザ情報の管理

Webコンテナでは,各ユーザのユーザ名,パスワード,および所属するロールを,J2EEサーバ付属のユーザ管理機能によって定義し,保持・管理します。

(2) コンテナセキュリティとアクセス権管理

Webコンテナでは,Webクライアントから特定のURLへのアクセスを制限できます。

特定のURLへのアクセスを制限するには,DD(WEB-INF/web.xml)に次に示す情報を記述します。

Webクライアントが認証に失敗した場合,またはユーザがアクセスするのに必要なロールを持たない場合には,アクセス制限対象となっているURLパターンへのアクセスはエラーになります。なお,認証に成功したクライアントは,セッションの有効期間内には再度認証の対象になることはありません。

セキュリティ定義情報,および認証方式を定義する方法は,Servlet API 2.3で規定されているDD(WEB-INF/web.xml)の仕様に従います。

なお,Webコンテナでの認証方式は,Basic認証とForm認証とがあります。これらは,J2EEアプリケーションに含まれるDD(WEB-INF/web.xml)に<login-config>タグを追加することで定義できます。J2EEアプリケーションの設定については,マニュアル「Cosminexus システム構築ガイド」を参照してください。

注意
WebサーバにHitachi Web ServerまたはMicrosoft IISを使用する場合,WebコンテナによるBasic認証を正しく動作させるには,Webサーバ認証機能を解除しておく必要があります。
手順の詳細については,マニュアル「Cosminexus システム構築ガイド」のWebサーバ(Hitachi Web ServerまたはMicrosoft IIS)に関する項目を参照してください。

(3) プログラムセキュリティ

DD(WEB-INF/web.xml)によってBasic,またはForm認証によるアクセス制限が設定されたサーブレット,JSPでは,HttpServletRequestの次に示すAPIを使用することで,ログインしたユーザのユーザ名やロール名などに応じて処理を切り替えるなど,プログラムレベルでのより細かいセキュリティ処理を行えます。

これらのAPIの詳細については,Java Servlet Specification v2.3を参照してください。

(4) 認証機能を併用するときの注意

ここでは,Webコンテナの認証機能と,Webサーバの認証機能を併用するときの注意について説明します。

(a) 認証の順序

Webコンテナが提供する認証機能とWebサーバの認証機能を併用した場合,次の順序で認証が実施されます。

  1. Webサーバでの認証
  2. Webコンテナでの認証

注※
Webサーバの認証機能とは,Webサーバの基本認証,SSLのサーバ認証,SSLのクライアント認証を指します。Web認証機能の併用とは,Webコンテナが提供する認証機能を使用している場合に,Webサーバの基本認証,SSLのサーバ認証,SSLのクライアント認証のどれか一つ以上を使用していることを指します。
(b) Webサーバの基本認証とWebコンテナのBasic認証を併用するときの注意

Webサーバの基本認証とWebコンテナのBasic認証を併用した場合は,Webサーバで認証されたユーザ名とパスワードがWebコンテナに引き継がれます。このため,WebサーバとWebコンテナには,共通のユーザ情報を定義する必要があります。

なお,Webサーバの認証後,Webコンテナでの認証の状況によっては,Webコンテナの動作が異なります。Webコンテナでの動作について次に示します。

(c) WebサーバにMicrosoft IISを使用している場合の注意

Webコンテナの認証を使用する場合,Microsoft IISで提供する次の認証機能には制限があります。