When the LDAP Base DN points to a user the LDAP validation works as expected. When you point the LDAP Base DN to the correct base DN and attempt to validate you get the following error.
strtolower() expects parameter 1 to be string, array given
#0 [internal function]: Icinga\Application\ApplicationBootstrap->Icinga\Application{closure}(Integer, String, String, Integer, Array)
#1 /usr/share/php/Icinga/Data/SimpleQuery.php(379): strtolower(Array)
#2 /usr/share/php/Icinga/Data/SimpleQuery.php(381): Icinga\Data\SimpleQuery->compare(Object(stdClass), Object(stdClass), Integer)
#3 [internal function]: Icinga\Data\SimpleQuery->compare(Object(stdClass), Object(stdClass))
#4 /usr/share/php/Icinga/Protocol/Ldap/LdapConnection.php(833): uasort(Array, Array)
#5 /usr/share/php/Icinga/Protocol/Ldap/LdapConnection.php(441): Icinga\Protocol\Ldap\LdapConnection->runQuery(Object(Icinga\Protocol\Ldap\LdapQuery), Array)
#6 /usr/share/php/Icinga/Protocol/Ldap/LdapConnection.php(458): Icinga\Protocol\Ldap\LdapConnection->fetchAll(Object(Icinga\Protocol\Ldap\LdapQuery), NULL)
#7 /usr/share/php/Icinga/Data/SimpleQuery.php(584): Icinga\Protocol\Ldap\LdapConnection->fetchRow(Object(Icinga\Protocol\Ldap\LdapQuery))
#8 /usr/share/php/Icinga/Repository/RepositoryQuery.php(542): Icinga\Data\SimpleQuery->fetchRow()
#9 /usr/share/php/Icinga/Authentication/User/LdapUserBackend.php(447): Icinga\Repository\RepositoryQuery->fetchRow()
#10 /usr/share/icingaweb2/application/forms/Config/UserBackendConfigForm.php(358): Icinga\Authentication\User\LdapUserBackend->inspect()
#11 /usr/share/icingaweb2/application/forms/Config/UserBackendConfigForm.php(398): Icinga\Forms\Config\UserBackendConfigForm::inspectUserBackend(Object(Icinga\Forms\Config\UserBackendConfigForm))
#12 /usr/share/php/Icinga/Web/Form.php(1197): Icinga\Forms\Config\UserBackendConfigForm->isValidPartial(Array)
#13 /usr/share/icingaweb2/application/controllers/ConfigController.php(296): Icinga\Web\Form->handleRequest()
#14 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action.php(507): Icinga\Controllers\ConfigController->edituserbackendAction()
#15 /usr/share/php/Icinga/Web/Controller/Dispatcher.php(76): Zend_Controller_Action->dispatch(String)
#16 /usr/share/icingaweb2/library/vendor/Zend/Controller/Front.php(937): Icinga\Web\Controller\Dispatcher->dispatch(Object(Icinga\Web\Request), Object(Icinga\Web\Response))
#17 /usr/share/php/Icinga/Application/Web.php(300): Zend_Controller_Front->dispatch(Object(Icinga\Web\Request), Object(Icinga\Web\Response))
#18 /usr/share/php/Icinga/Application/webrouter.php(99): Icinga\Application\Web->dispatch()
#19 /usr/share/icingaweb2/public/index.php(4): require_once(String)
#20 {main}
Setting the correct value in authentication.ini allows you to log in, the work around during setup was to bind it to a specific user. This error(see below) also comes up looking at the user groups in Icinga Web 2.
strtolower() expects parameter 1 to be string, array given
#0 [internal function]: Icinga\Application\ApplicationBootstrap->Icinga\Application{closure}(Integer, String, String, Integer, Array)
#1 /usr/share/php/Icinga/Data/SimpleQuery.php(379): strtolower(Array)
#2 [internal function]: Icinga\Data\SimpleQuery->compare(Object(stdClass), Object(stdClass))
#3 /usr/share/php/Icinga/Protocol/Ldap/LdapConnection.php(833): uasort(Array, Array)
#4 /usr/share/php/Icinga/Protocol/Ldap/LdapConnection.php(441): Icinga\Protocol\Ldap\LdapConnection->runQuery(Object(Icinga\Protocol\Ldap\LdapQuery), Array)
#5 /usr/share/php/Icinga/Protocol/Ldap/LdapConnection.php(379): Icinga\Protocol\Ldap\LdapConnection->fetchAll(Object(Icinga\Protocol\Ldap\LdapQuery))
#6 /usr/share/php/Icinga/Data/SimpleQuery.php(171): Icinga\Protocol\Ldap\LdapConnection->query(Object(Icinga\Protocol\Ldap\LdapQuery))
#7 /usr/share/php/Icinga/Repository/RepositoryQuery.php(731): Icinga\Data\SimpleQuery->rewind()
#8 zend.view:///usr/share/icingaweb2/application/views/scripts/group/list.phtml(57): Icinga\Repository\RepositoryQuery->rewind()
#9 /usr/share/php/Icinga/Web/View.php(262): include(String)
#10 /usr/share/icingaweb2/library/vendor/Zend/View/Abstract.php(877): Icinga\Web\View->_run(String)
#11 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action/Helper/ViewRenderer.php(904): Zend_View_Abstract->render(NULL)
#12 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action/Helper/ViewRenderer.php(925): Zend_Controller_Action_Helper_ViewRenderer->renderScript(String, NULL)
#13 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action/Helper/ViewRenderer.php(964): Zend_Controller_Action_Helper_ViewRenderer->render()
#14 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action/HelperBroker.php(272): Zend_Controller_Action_Helper_ViewRenderer->postDispatch()
#15 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action.php(518): Zend_Controller_Action_HelperBroker->notifyPostDispatch()
#16 /usr/share/php/Icinga/Web/Controller/Dispatcher.php(76): Zend_Controller_Action->dispatch(String)
#17 /usr/share/icingaweb2/library/vendor/Zend/Controller/Front.php(937): Icinga\Web\Controller\Dispatcher->dispatch(Object(Icinga\Web\Request), Object(Icinga\Web\Response))
#18 /usr/share/php/Icinga/Application/Web.php(300): Zend_Controller_Front->dispatch(Object(Icinga\Web\Request), Object(Icinga\Web\Response))
#19 /usr/share/php/Icinga/Application/webrouter.php(99): Icinga\Application\Web->dispatch()
#20 /usr/share/icingaweb2/public/index.php(4): require_once(String)
#21 {main}
Icinga Web 2 Version: 2.7.3
Git commit: 06cabfe8ba28cf545a42c92f25484383191a4e51
PHP Version: 7.2.24
Git commit date: 2019-10-18
Thanks for any help that you could provide here.