JAASログイン構成ファイル

JAAS認証はプラガブルな形式で実行されるため、Javaアプリケーションは、基盤となる認証技術から独立した状態を維持できます。適切な認証技術などの構成情報は実行時に指定されます。構成情報のソース(ファイルやデータベース)は、現在のjavax.security.auth.login.Configuration実装によって異なります。Sun MicrosystemsのデフォルトのConfiguration実装は、このドキュメントで説明するように、構成ファイルから構成情報を読み取ります。

ログイン構成ファイルの構造および内容

ログイン構成ファイルは、1つ以上のエントリで構成され、各エントリには、特定のアプリケーションで使用される基礎となる認証技術が指定されます。各エントリの構造を、次に示します。

<name used by application to refer to this entry> { 
    <LoginModule> <flag> <LoginModule options>;
    <optional additional LoginModules, flags and options>;
    };

このため、各ログイン構成ファイルのエントリは、名前、続いて1つ以上のログイン・モジュール固有エントリから構成され、ログイン・モジュール固有の各エントリはセミコロンで終わり、ログイン・モジュール固有エントリ・グループ全体が中カッコで囲まれます。各構成ファイルのエントリはセミコロンで終わります。

たとえば、「JAAS認証」チュートリアルで使用するログイン構成ファイルには、次のエントリだけが含まれます。

Sample {
   sample.module.SampleLoginModule required debug=true;
};

ここでは、エントリの名前は「Sample」で、JAAS認証チュートリアル・アプリケーション(SampleAcn.java)がこのエントリを参照するために使用する名前です。このエントリは、ユーザー認証の実行に使用するログイン・モジュールがsample.moduleパッケージ内のSampleLoginModuleであること、および認証が成功したと見なされるためにはこのSampleLoginModuleが「成功する」必要があることを示します。SampleLoginModuleは、ユーザーから提供された名前とパスワードが期待したもの(それぞれ「testUser」と「testPassword」)である場合にかぎり成功します。

JAAS認証チュートリアルの「LoginContextのインスタンス化」で説明したように、ログイン構成ファイルのエントリの名前は、LoginContextのインスタンス化時にアプリケーションがエントリの参照に使用する名前です。アプリケーション開発者は、任意の名前を設定できます。ここで、「アプリケーション」とは、JAASログインを実行するあらゆるコードを指します。

指定したログイン・モジュール(後述)は、認証プロセスの制御に使用されます。認証は、ここで説明するように、リスト内を指定された正確な順番で下に進みます。

各ログイン・モジュール固有のエントリ・サブパートを、次に示します。

使用するログイン構成ファイルの位置指定

使用する構成ファイルは、次の2つのいずれかの方法で指定できます。

  1. コマンド行。

    -Djava.security.auth.login.config インタプリタ・コマンド行引数を使用して、使用すべきログイン構成ファイルを指定できます。この方法は、すべてのチュートリアルで使用されます。たとえば、JAAS認証チュートリアルでは、SampleAcnアプリケーションの実行に次のコマンドを使用します。このコマンドは、構成ファイルが現在のディレクトリのsample_jaas.configファイルであることを指定します。

    java -Djava.security.auth.login.config==sample_jaas.config sample.SampleAcn
    
  2. Javaセキュリティのプロパティ・ファイル。

    ログイン構成ファイルの位置を指定する別の方法は、セキュリティ・プロパティ・ファイルのlogin.config.url.nプロパティ値にURLを指定することです。セキュリティ・プロパティ・ファイルは、JREのlib/securityディレクトリ内のjava.securityファイルです。

    ここで、nは1から始まる連番の整数です。このため、必要に応じて複数のログイン構成ファイルを指定できます。この場合、login.config.url.1プロパティに最初のファイルのURLを、login.config.url.2プロパティに2番目のファイルのURLというように設定します。複数のログイン構成ファイルを指定する(つまりn > 1の)場合、ファイルは読み取られて1つの構成に連結されます。

    ここで、このチュートリアルで使用するsample_jaas.configログイン構成ファイルを指定するために、セキュリティ・プロパティ・ファイルに追加する必要のある項目の例を示します。この例は、ファイルが次のMicrosoft WindowsシステムのC:\AcnTestディレクトリにあると仮定しています。

    login.config.url.1=file:C:/AcnTest/sample_jaas.config
    
    URLには、ユーザーの実行するオペレーティング・システムに関係なく、常にスラッシュを使用します。

Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved.