Java Servlet 3.0 のセキュリティーのサポート
この WebSphere® Application Server リリースでは、Java™ Servlet 3.0 仕様で定義されているすべてのセキュリティー更新がサポートされています。
この WebSphere Application Server リリースでは、Java Servlet 3.0 仕様 (JSR-315) で定義されているすべてのセキュリティー更新 (新規サーブレット・セキュリティー・アノテーション、新規プログラマチック・セキュリティー API の使用、およびサーブレット・セキュリティー構成の動的更新など) がサポートされています。
重要な機能拡張として、サーブレットに対する新しいアノテーションのサポートがあります。 開発者は、Java Servlet 3.0 より前のバージョンで使用されている web.xml ファイルの一部としてセキュリティー制約を宣言する代わりに、アノテーションを使用してセキュリティー制約を宣言できます。web.xml ファイルはこのバージョンでも機能し、アノテーションとして定義されているすべての競合をオーバーライドします。
- @ServletSecurity アノテーションのサポート
- @RunAs、@declareRoles、および @ServletSecurity サーブレット・セキュリティー・アノテーションの動的更新のサポート
- 認証、ログイン、およびログアウトのサーブレット・セキュリティー・メソッドのサポート
- この新規 com.ibm.websphere.security.displayRealm プロパティーは、HTTP 基本認証ログイン・ウィンドウに、アプリケーションの web.xml ファイルで定義されていないレルム名を表示するかどうかを指定します。
以下に、Java Servlet 3.0 セキュリティー更新の詳細を示します。
@ServletSecurity アノテーションのサポート:
アプリケーションのデプロイ時に、 ServletSecurity MergeAction 実装により、ServletSecurity アノテーションが付いたサーブレットがすべて検出されます。アノテーションが付いている サーブレットごとに、WebServlet アノテーションに基づいて、特定のクラスに関連付けられたサーブレットを検出します。 デプロイメント記述子内に ServletSecurity アノテーションの RolesAllowed が検出されない場合は、 デプロイメント記述子内にロールの role-name 属性が作成されます。
アプリケーションの開始時に、 WebContainer は、RunAs、declareRoles、および ServletSecurity アノテーションが付いたサーブレットをすべて検査し、ServletRegistration アノテーションの setServletSecurity() メソッドでこれらのアノテーションを設定します。 WebContainer は、セキュリティー・コンポーネントに、 URL パターンおよびセキュリティー制約を持つすべての ServletRegistration アノテーションを検査するように 通知します。セキュリティー・コンポーネントは、デプロイメント記述子内に URL パターンが定義されているか どうかを判別します。デプロイメント記述子内に URL パターンが定義されていない場合、セキュリティー制約および RunAs ロールが URL パターンで作成されて使用されます。デプロイメント記述子内に完全に一致する URL パターンが既に定義されている場合は、 デプロイメント記述子の URL パターン内のセキュリティー制約および RunAs ロールが、アノテーション・データ の代わりに使用されます。
詳しくは、『セキュリティー・アノテーション』トピックを参照してください。
@RunAs、@declareRoles、および @ServletSecurity サーブレット・セキュリティー・アノテーションの動的更新のサポート:
アプリケーションの開始時に、 Web コンテナーは、RunAs、declareRoles、および ServletSecurity アノテーションが付いたサーブレットをすべて検査し、ServletRegistration アノテーションの setServletSecurity() メソッドでこれらのアノテーションを設定します。 Web コンテナーは、セキュリティー・コンポーネントに対し、URL パターンとセキュリティー制約が含まれているすべての ServletRegistration アノテーションを検査するように通知します。セキュリティー・コンポーネントは、デプロイメント記述子内に URL パターンが定義されているか どうかを判別します。デプロイメント記述子内で完全に一致する URL パターンが既に定義されている場合、デプロイメント記述子の URL パターンのセキュリティー制約と RunAs ロールが、動的データの代わりに使用されます。
詳しくは、『Servlet セキュリティー動的アノテーション』トピックを参照してください。
認証、ログイン、およびログアウトのサーブレット・セキュリティー・メソッドのサポート:
認証メソッドでは、サーブレット・コンテキストに対して構成された WebSphere Application Server コンテナー・ログイン・メカニズムを使用してユーザーを認証します。
ログイン・メソッドでは、ユーザー ID とパスワードで WebSphereApplication Server へのユーザー認証が実行されます。認証が成功すれば、スレッドにユーザー・サブジェクトが作成される他、Lightweight Third Party Authentication (LTPA) Cookie (シングル・サインオン (SSO) が有効になっている場合) が作成されます。
ログアウト・メソッドは、WebSphere Application Server からユーザーをログアウトし、HTTP セッションを無効にします。
詳しくは、『サーブレット・セキュリティー・メソッド』トピックを参照してください。
この新規 com.ibm.websphere.security.displayRealm プロパティーは、HTTP 基本認証ログイン・ウィンドウに、アプリケーションの web.xml ファイルで定義されたレルム名を表示するかどうかを指定します。
- プロパティーに false (デフォルト) を設定すると、WebSphere レルム名の表示はデフォルト・レルムになります。
- プロパティーに true を設定すると、WebSphere レルム名の表示は、 LTPA 認証メカニズムの場合にはユーザー・レジストリー・レルム名、Kerberos 認証メカニズムの場合には Kerberos レルム名になります。
詳しくは、『セキュリティー・カスタム・プロパティー』トピックを参照してください。