プリンシパル認証モジュールの作成
このセクションでは、JAAS ベースの PAM を作成するための ガイドラインを提供します。
TDV は、JAAS (Java Authentication and Authorization Services、引数なしのコンストラクターを含む) の認証モジュールを使用します。
注:ユーザー提供の LoginModule 実装では、クラス変数に状態を格納しないようにすることをお勧めします。
必要な JAR ファイルを作成するには
| 1. | 次の名前と値のペアで manifest.mf ファイルを作成します。 |
Manifest-Version: 1.0
cisext-name: <name>
cisext-annotation: <description>
cisext-version: <integer_version_number>cisext-introspectAll: true cisext-dependencies: <dependencyName>:<version_number>
name: <fullpath_and_class_file_name>
cisext-introspect: true
| 2. | マニフェスト ファイルの最後の行が空であることを確認します。 |
| 3. | マニフェスト ファイルを保存します。 |
| 4. | 以下の推奨事項に従って、JAAS ログイン モジュール クラス ファイルを作成します。 |
|
値 |
おすすめ |
|||||||||
|
初期化方法。ユーザーが TDV にサイン インするたびに、登録されている各 LoginModule クラスがインスタンス化され、その初期化メソッドが呼び出されます。 |
||||||||||
|
LoginModule がプリンシパル、証明書、その他のセキュリティ関連の認証情報を格納するjavax.security.auth.Subject のインスタンスです。 |
||||||||||
|
NameCallback および P を介して、ユーザーの名前とパスワードを取得するために使用できる javax.security.auth.callback.CallbackHandler のインスタンス aswordCallback クラス。その他の Callback インスタンスをハンドラーに渡すと、UnsupportedCallbackException が発生します。 |
||||||||||
|
動作中のすべての LoginModule には、その接続のすべてのチャネル プロパティ (HTML ヘッダーなど) で初期化された Map<String,?> のコピーが渡されます。 認証モジュールで特定のチャネル タイプを検証する場合は、追加の Transport-Type チャネル プロパティに http、jms、または db (JDBC/ODBC/ADO.NET の場合) のいずれかの定数を入力します。 |
||||||||||
|
各 LoginModule インスタンスには、その構成パラメーターを含む Map<String,?> が渡されます。 |
||||||||||
|
モジュールがログインステータスを決定する方法。考えられる 3 つの結果は次のとおりです。
|
||||||||||
|
例外が発生しない場合、サイン オンは成功したと見なされ、各モジュールは、初期化メソッドで識別されたサブジェクト インスタンスに必要なセキュリティ資格情報を追加できます。 |
||||||||||
|
LoginModule に障害が発生すると、そのモジュールの abort メソッドが呼び出され、モジュールが保持している可能性のあるリソースを解放できるようになります。 |
||||||||||
|
ユーザーがサインアウトしたときに呼び出すメソッド。 |
| 5. | クラス ファイルと manifest.mf ファイルを 1 つの JAR ファイルに保存します。 |
| 6. | server_util.sh を使用して、PAM 認証を含むパッケージをデプロイします。手順については、「プラグ可能な認証モジュールのデプロイ」を参照してください。 |