ユーザーが保護されたWebアプリケーション領域を要求すると、宣言セキュリティでの認証が強制されます。それ以前にユーザーが認証されていない場合、ユーザーを認証するためのログイン・ダイアログが表示されます。通常使用される認証タイプは、フォーム・ベース認証とBASIC認証です。認証タイプは、<login-config>
要素を使用してweb.xml
デプロイメント・ディスクリプタで指定されます。
<login-config>
<auth-method> BASIC </auth-method>
</login-config>
BASIC認証では、ブラウザ・ログイン・ダイアログを使用してユーザー名とパスワードを入力します。このダイアログ・フォームはカスタマイズできないため、使用するブラウザに応じてルック・アンド・フィールが異なります。ユーザー資格証明は認証済レルムのブラウザ・セッションに格納されます。JEEでのレルムは、認証ユーザーの権限セットを定義する保護ドメインです。Oracle JAASでのデフォルト・レルムはjazn.com
です。Basic認証を使用する場合、各要求においてユーザー名とパスワードはHTTPヘッダーにBase64でエンコードされたフォームで送信されます。
<login-config>
<auth-method> FORM </auth-method>
<form-login-config>
<form-login-page>logonform.jsp</form-login-page>
<form-error-page>error.jsp</form-error-page>
</form-login-config>
</login-config>
フォーム・ベース認証では、アプリケーション開発者はカスタム・ログイン・ダイアログを指定できます。usernameパラメータの名前はj_username
で、パスワード・フィールドの名前はj_password
である必要があります。要求を認証するJEEコンテナのログオン・フォーム・アクションの値は j_security_check
である必要があります。ユーザーはサーバー・セッション中、認証されたままです。
フォーム・ベース認証とBASIC認証の両方の方式とも安全ではなく、盗聴攻撃に対して脆弱です。このため、BASICまたはフォーム・ベース認証を使用するアプリケーションは、HTTPSプロトコルで実行することをお薦めします。あまり使用されていませんが、より信頼性の高い認証方式として、デジタル署名による相互認証を使用する公開鍵暗号化(PKI)があります。すべてのJEE準拠コンテナは、この認証タイプをサポートしています。
前述の認証タイプ以外に、JDeveloperは、X.509証明書を介したユーザー認証に使用されるCLIENT-CERT認証モードもサポートしています。認証タイプの選択の詳細は、Oracle Fusion Middlewareセキュリティ・ガイドを参照してください。
Oracle WebLogic Serverを使用する認証タイプの詳細は、Oracle Fusion Middleware Oracle WebLogic Serverセキュリティ・プログラマーズ・ガイドを参照してください。
Copyright © 1997, 2009, Oracle. All rights reserved.