From c71fe5f56ec7e82696b46a51f63c514417ec26b9 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Mon, 25 Mar 2019 16:39:34 -0300 Subject: [PATCH] IDEMPIERE-3932 idempiereMonitor and OSGI console must validate against LDAP if configured --- org.adempiere.base/src/org/compiere/model/MUser.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/org.adempiere.base/src/org/compiere/model/MUser.java b/org.adempiere.base/src/org/compiere/model/MUser.java index b8f64e756f..ef8f79129d 100644 --- a/org.adempiere.base/src/org/compiere/model/MUser.java +++ b/org.adempiere.base/src/org/compiere/model/MUser.java @@ -33,6 +33,7 @@ import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import org.adempiere.exceptions.DBException; +import org.codehaus.groovy.classgen.GeneratorContext; import org.compiere.util.CCache; import org.compiere.util.CLogger; import org.compiere.util.DB; @@ -213,7 +214,15 @@ public class MUser extends X_AD_User clientsValidated.add(user.getAD_Client_ID()); boolean valid = false; - if (hash_password) { + MSystem system = MSystem.get(Env.getCtx()); + if (system == null) + throw new IllegalStateException("No System Info"); + + + if (system.isLDAP() && ! Util.isEmpty(user.getLDAPUser())) { + System.out.println("validating with LDAP"); + valid = system.isLDAP(name, password); + } else if (hash_password) { valid = user.authenticateHash(password); } else { // password not hashed