diff --git a/application-home/dictionary/manager-messages.properties b/application-home/dictionary/manager-messages.properties index 9fe732d..daf8d0d 100644 --- a/application-home/dictionary/manager-messages.properties +++ b/application-home/dictionary/manager-messages.properties @@ -135,7 +135,8 @@ lastLogin=Last login lastUpdated=Last updated latestRelease=Latest release latestSnapshot=Latest snapshot -ldap.disabled=LDAP Authentication is disabled. Set site property ''{0}'' to ''false'' to enable. +ldap.disabled=LDAP Authentication is disabled via site property ''{0}''. +ldap.noAdminPassword=No password for LDAP admin user ''{0}'' is set. Use site property ''{1}'' to set one. ldap.users=LDAP Users ldap.settings=LDAP Settings ldap.not.working=Unable to connect to LDAP server at {0}, please check configuration! diff --git a/src/main/java/org/appng/application/manager/business/LdapUsers.java b/src/main/java/org/appng/application/manager/business/LdapUsers.java index 1a46722..5aa9c6f 100644 --- a/src/main/java/org/appng/application/manager/business/LdapUsers.java +++ b/src/main/java/org/appng/application/manager/business/LdapUsers.java @@ -76,10 +76,16 @@ public DataContainer getData(Site site, Application application, Environment env dataContainer.setItems(ldapProps); if (!ldapDisabled) { - char[] ldapPw = siteProps.getString(LdapService.LDAP_PASSWORD, StringUtils.EMPTY).toCharArray(); - boolean adminLoginOk = ldapService.loginUser(site, ldapUser.getString(), ldapPw); - if (!adminLoginOk) { - fp.addErrorMessage(request.getMessage(MessageConstants.LDAP_NOT_WORKING, ldapHost.getString())); + String ldapPassword = siteProps.getString(LdapService.LDAP_PASSWORD, StringUtils.EMPTY); + if (StringUtils.isNotBlank(ldapPassword)) { + char[] ldapPw = ldapPassword.toCharArray(); + boolean adminLoginOk = ldapService.loginUser(site, ldapUser.getString(), ldapPw); + if (!adminLoginOk) { + fp.addErrorMessage(request.getMessage(MessageConstants.LDAP_NOT_WORKING, ldapHost.getString())); + } + } else { + fp.addNoticeMessage(request.getMessage(MessageConstants.LDAP_NO_ADMIN_PASSWORD, + ldapUser.getString(), LdapService.LDAP_PASSWORD)); } } } else {