ログインで指定するパスワードの文字列を元に、データベースに登録しているパスワードに変換するクラスを、以下の手順で作成します。
このクラスは平文のパスワードを、使用するデータベースに保管している形式(暗号化やハッシュ化した値)に変換した値を返すように実装します。
このクラスが返した値はログイン時のパスワードの照合やパスワード変更でデータベースにパスワードを保管する際に使用します。
以下のクラスを継承して必要なメソッドを実装します。
com.fujitsu.imaps.account.models.AbstractPassword
クラスには、java.util.Map<String, String>のパラメーターを持つコンストラクタを実装してください。
以下のメソッドを実装してください。
/** * 指定されたパスワードをリポジトリに保管する値に変換します。 * @param password 指定された値 * @return 変換したパスワード * @throws Exception エラーが発生した場合 */ public byte[] create(String password) throws Exception;
また、認証定義に設定したパラメーターは以下のメソッドで取得できます。
/** * 認証定義の値を取得します。 * @param name 項目名 * @return 値 */ public String getParameter(String name)
実装例:
package com.xxx; import com.fujitsu.imaps.account.models.AbstractPassword; public class CreatePasswordXXX extends AbstractPassword { /** * コンストラクタ */ public CreatePasswordXXX(Map<String, String> params) { super(params); } @Override public byte[] create(String password) throws Exception { // パスワードの生成ロジックを実装。 } ・・・以下、略
<製品インストールフォルダー>\lib\imauth.jar
/opt/FJSVimaps/lib/imauth.jar
<製品インストールフォルダー>\bin\conf\sample\db\authdef.properties
/opt/FJSVimaps/bin/conf/sample/db/authdef.properties
コピーしたファイルの以下に値を設定します。
項目 |
値 |
---|---|
password-class |
作成したパスワード変換クラスのクラス名を指定します。 |
例:password-class=com.xxx.CreatePasswordXXX
作成したクラスはJARファイルにし、imadmin auth setの-jarオプションに指定します。「認証定義」はimadmin auth setの-fileオプションに指定します。imadmin auth importでサーバアプリケーションに登録します。
詳細は、"運用ガイド"を参照してください。