ページの先頭行へ戻る
Interstage Mobile Application Server V1.2.0 アプリケーション開発ガイド
FUJITSU Software

9.1 ユーザーのパスワードをリポジトリに保管する値に変換するクラスの開発

ログインで指定するパスワードの文字列を元に、データベースに登録しているパスワードに変換するクラスを、以下の手順で作成します。

  1. 必要なメソッドの実装
  2. 「認証定義」の作成
  3. 作成したクラス、「認証定義」の設定と登録

このクラスは平文のパスワードを、使用するデータベースに保管している形式(暗号化やハッシュ化した値)に変換した値を返すように実装します。

このクラスが返した値はログイン時のパスワードの照合やパスワード変更でデータベースにパスワードを保管する際に使用します。


必要なメソッドの実装

以下のクラスを継承して必要なメソッドを実装します。

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 {
    // パスワードの生成ロジックを実装。
  }

   ・・・以下、略

作成したクラスのコンパイルには、以下を使用してください。
Windows
<製品インストールフォルダー>\lib\imauth.jar
Linux
/opt/FJSVimaps/lib/imauth.jar

「認証定義」の作成

以下のファイルをコピーします。
Windows
<製品インストールフォルダー>\bin\conf\sample\db\authdef.properties
Linux
/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でサーバアプリケーションに登録します。

詳細は、"運用ガイド"を参照してください。