管理ガイド> プラグ可能な認証モジュール> TDVおよびPAMの操作> プリンシパル認証モジュールの作成
 
プリンシパル認証モジュールの作成
このセクションでは、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ログインモジュールクラスファイルを作成します。
おすすめ
Initialization
初期化方法。ユーザーがTDVにサインインするたびに、登録されている各LoginModuleクラスがインスタンス化され、その初期化メソッドが呼び出されます。
subject
LoginModuleがプリンシパル、証明書、その他のセキュリティ関連の認証情報を格納するjavax.security.auth.Subjectのインスタンスです。
callbackHandler
NameCallbackおよびPasswordCallbackクラスを通じて、ユーザの名前とパスワードを取得するために使用されるかもしれないjavax.security.auth.callback.CallbackHandlerのインスタンスを指定します。他のCallbackインスタンスをハンドラに渡すと、UnsupportedCallbackExceptionが発生します。
sharedState
動作中のすべてのLoginModuleには、その接続のすべてのチャネルプロパティ(HTMLヘッダーなど)で初期化されたMap<String、?>のコピーが渡されます。
認証モジュールで特定のチャネルタイプを検証する場合は、追加のTransport-Typeチャネルプロパティにhttp、jms、またはdb(JDBC/ODBC/ADO.NETの場合)のいずれかの定数を入力します。
options
各LoginModuleインスタンスには、その構成パラメーターを含むMap<String、?>が渡されます。
Login
モジュールがログインステータスを決定する方法。考えられる3つの結果は次のとおりです。
合格-ログインメソッドはTRUEを返します。
失敗-メソッドはLoginExceptionをスローします
どちらでもない-ログインモジュールはFALSEを返し、サインオンプロセスから自分自身を失格にします。たとえば、ユーザーがWebサービスを介して認証しているJDBC接続を検証するように設計されたLoginModuleは、FALSEを返す場合があります。
Commit
例外が発生しない場合、サインオンは成功したと見なされ、各モジュールは、初期化メソッドで識別されたサブジェクトインスタンスに必要なセキュリティクレデンシャルを追加できます。
Abort
LoginModuleに障害が発生すると、そのモジュールのabortメソッドが呼び出され、モジュールが保持している可能性のあるリソースを解放できるようになります。
Logout
ユーザーがサインアウトしたときに呼び出すメソッド。
5. クラスファイルとmanifest.mfファイルを単一のJARファイルに保存します。
6. server_util.shを使用して、PAM認証を含むパッケージをデプロイします。手順については、プラガブル認証モジュールのデプロイを参照してください。