認証タイプの選択肢について

ユーザーが保護された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セキュリティ・プログラマーズ・ガイドを参照してください。


Webアプリケーションでのユーザー認証の処理