diff --git a/src/main/java/org/codelibs/fess/app/web/admin/user/AdminUserAction.java b/src/main/java/org/codelibs/fess/app/web/admin/user/AdminUserAction.java index c4bb394e8..6a873818b 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/user/AdminUserAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/user/AdminUserAction.java @@ -270,6 +270,7 @@ public class AdminUserAction extends FessAdminAction { copyBeanToBean(form, entity, op -> op.exclude(ArrayUtils.addAll(Constants.COMMON_CONVERSION_RULE, "password"))); if (form.crudMode.intValue() == CrudMode.CREATE || StringUtil.isNotBlank(form.password)) { final String encodedPassword = fessLoginAssist.encryptPassword(form.password); + entity.setOriginalPassword(form.password); entity.setPassword(encodedPassword); } return entity; diff --git a/src/main/java/org/codelibs/fess/es/user/exentity/User.java b/src/main/java/org/codelibs/fess/es/user/exentity/User.java index 73909dd89..f57ac0a32 100644 --- a/src/main/java/org/codelibs/fess/es/user/exentity/User.java +++ b/src/main/java/org/codelibs/fess/es/user/exentity/User.java @@ -30,6 +30,8 @@ public class User extends BsUser implements FessUser { private static final long serialVersionUID = 1L; + private String originalPassword; + public Long getVersionNo() { return asDocMeta().version(); } @@ -63,4 +65,13 @@ public class User extends BsUser implements FessUser { return "User [name=" + name + ", roles=" + Arrays.toString(roles) + ", groups=" + Arrays.toString(groups) + "]"; } + public void setOriginalPassword(String originalPassword) { + this.originalPassword = originalPassword; + + } + + public String getOriginalPassword() { + return originalPassword; + } + } diff --git a/src/main/java/org/codelibs/fess/ldap/LdapManager.java b/src/main/java/org/codelibs/fess/ldap/LdapManager.java index c22bf302c..ea7d9c9ba 100644 --- a/src/main/java/org/codelibs/fess/ldap/LdapManager.java +++ b/src/main/java/org/codelibs/fess/ldap/LdapManager.java @@ -41,7 +41,6 @@ import org.codelibs.fess.helper.SambaHelper; import org.codelibs.fess.mylasta.direction.FessConfig; import org.codelibs.fess.util.ComponentUtil; import org.dbflute.optional.OptionalEntity; -import org.lastaflute.core.security.PrimaryCipher; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -196,10 +195,9 @@ public class LdapManager { } protected void addUserAttributes(final BasicAttributes entry, final User user, final FessConfig fessConfig) { - final PrimaryCipher cipher = ComponentUtil.getComponent(PrimaryCipher.class); entry.put(new BasicAttribute("cn", user.getName())); entry.put(new BasicAttribute("sn", user.getName())); - entry.put(new BasicAttribute("userPassword", fessConfig.getLdapAdminDigestAlgorismPrefix() + cipher.oneway(user.getPassword()))); + entry.put(new BasicAttribute("userPassword", user.getOriginalPassword())); } public void delete(User user) { diff --git a/src/main/java/org/codelibs/fess/mylasta/direction/FessConfig.java b/src/main/java/org/codelibs/fess/mylasta/direction/FessConfig.java index c26d0a706..ad02f94dd 100644 --- a/src/main/java/org/codelibs/fess/mylasta/direction/FessConfig.java +++ b/src/main/java/org/codelibs/fess/mylasta/direction/FessConfig.java @@ -650,9 +650,6 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction /** The key of the configuration. e.g. groupOfNames */ String LDAP_ADMIN_GROUP_OBJECT_CLASSES = "ldap.admin.group.object.classes"; - /** The key of the configuration. e.g. {SHA256} */ - String LDAP_ADMIN_DIGEST_ALGORISM_PREFIX = "ldap.admin.digest.algorism.prefix"; - /** * Get the value of property as {@link String}. * @param propertyKey The key of the property. (NotNull) @@ -2586,13 +2583,6 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction */ String getLdapAdminGroupObjectClasses(); - /** - * Get the value for the key 'ldap.admin.digest.algorism.prefix'.
- * The value is, e.g. {SHA256}
- * @return The value of found property. (NotNull: if not found, exception but basically no way) - */ - String getLdapAdminDigestAlgorismPrefix(); - /** * The simple implementation for configuration. * @author FreeGen @@ -3601,9 +3591,5 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction public String getLdapAdminGroupObjectClasses() { return get(FessConfig.LDAP_ADMIN_GROUP_OBJECT_CLASSES); } - - public String getLdapAdminDigestAlgorismPrefix() { - return get(FessConfig.LDAP_ADMIN_DIGEST_ALGORISM_PREFIX); - } } } diff --git a/src/main/resources/fess_config.properties b/src/main/resources/fess_config.properties index 543ecb402..e4123fb55 100644 --- a/src/main/resources/fess_config.properties +++ b/src/main/resources/fess_config.properties @@ -362,5 +362,4 @@ ldap.admin.role.security.principal=cn\=%s,ou\=Role,dc\=fess,dc\=codelibs,dc\=org ldap.admin.role.object.classes=groupOfNames ldap.admin.group.security.principal=cn\=%s,ou\=Group,dc\=fess,dc\=codelibs,dc\=org ldap.admin.group.object.classes=groupOfNames -ldap.admin.digest.algorism.prefix={SHA256}