【カスタマイズ例】パスワードポリシーの変更

新年明けましておめでとうございます。
今年も「Aipo工房」をどうぞよろしくお願い致します!

では、2010年初カスタマイズをお送りします。

Aipoのログインパスワードは、「英数字」というポリシーとなっています。

弊社では社内ActiveDirectory(以下、AD)をベースにして、社内システムのシングルサインオン化を進めています。

AipoとADの連携は検証中なのですが、ひとまずは手動でADと同じパスワードをAipoに設定することにしました。
するとここで問題が発生しました。
ADではパスワードポリシーが「英数字、記号」となっているので、このままでは同じパスワードをAipoに設定することができないのです。

そこで、下記のようにしてAipoのパスワードポリシーを「英数字、記号」に変更しました。

ソース: /portlets/account/src/java/com/aimluck/eip/account/AccountPasswdFormData.java

protected void setValidator() {
// 新しいパスワード
new_passwd.setNotNull(true);
new_passwd.setCharacterType(ALStringField.TYPE_ALPHABET_NUMBER);
new_passwd.limitMaxLength(16);

// 新しいパスワード(確認用)
new_passwd_confirm.setNotNull(true);
new_passwd_confirm.setCharacterType(ALStringField.TYPE_ALPHABET_NUMBER);
new_passwd_confirm.limitMaxLength(16);
}

protected void setValidator() {
// 新しいパスワード
new_passwd.setNotNull(true);
new_passwd.setCharacterType(ALStringField.TYPE_ASCII);
new_passwd.limitMaxLength(16);

// 新しいパスワード(確認用)
new_passwd_confirm.setNotNull(true);
new_passwd_confirm.setCharacterType(ALStringField.TYPE_ASCII);
new_passwd_confirm.limitMaxLength(16);
}

protected boolean updateFormData(RunData rundata, Context context, List msgList) {
– 略 –
// 新しいパスワードをセットする
JetspeedSecurity.forcePassword(user, new_passwd.toString());

protected boolean updateFormData(RunData rundata, Context context, List msgList) {
– 略 –
// 新しいパスワードをセットする
JetspeedSecurity.forcePassword(user, new_passwd.getValue());

ソース: /portlets/account/src/java/com/aimluck/eip/account/AccountUserFormData.java
にも同様の変更が必要です。

では、本年もどうぞよろしくお願い致します。