diff --git a/src/ifm.js b/src/ifm.js index 0fba7a8..f83f88b 100644 --- a/src/ifm.js +++ b/src/ifm.js @@ -1907,9 +1907,9 @@ function IFM(params) { success: function(d) { if (d.status == "ERROR") { self.showModal(Mustache.render(self.templates.login, {i18n: self.i18n}), {large: true}); - var form = document.forms.loginForm; form.addEventListener('click', function(e) { + e.preventDefault(); if (e.target.id == "buttonLogin") { $.ajax({ url: self.api, @@ -1925,7 +1925,10 @@ function IFM(params) { self.initApplication(); }, error: function(e) { - self.showMessage("Authentication failed", "e"); + var errorlogin = document.getElementsByClassName('alert')[0]; + errorlogin.classList.remove("d-none"); + errorlogin.innerHTML = "Authentication failed" + //self.showMessage("Authentication failed", "e"); } }); } @@ -1933,10 +1936,11 @@ function IFM(params) { } else { self.initApplication(); } - }, - error: function(resp) { - throw new Error("Not authenticated"); } + // }, + // error: function(resp) { + // throw new Error("Not authenticated"); + // } }); }; diff --git a/src/main.php b/src/main.php index f194e1c..3298992 100644 --- a/src/main.php +++ b/src/main.php @@ -1017,15 +1017,16 @@ f00bar; } break; case "ldap": - $authenticated = false; + $authenticated = false; $ldapopts = explode(";", $srcopt); - if (count($ldapopts) === 3) { - list($ldap_server, $rootdn, $ufilter) = explode(";", $srcopt); + if (count($ldapopts) === 4) { + list($ldap_server, $basedn, $uuid, $ufilter) = explode(";", $srcopt); } else { - list($ldap_server, $rootdn) = explode(";", $srcopt); + list($ldap_server, $basedn) = explode(";", $srcopt); $ufilter = false; + $uuid = "uid"; } - $u = "uid=" . $user . "," . $rootdn; + $u = $uuid . "=" . $user . "," . $basedn; if (!$ds = ldap_connect($ldap_server)) { trigger_error("Could not reach the ldap server.", E_USER_ERROR); return false; @@ -1035,7 +1036,7 @@ f00bar; $ldbind = @ldap_bind($ds, $u, $pass); if ($ldbind) { if ($ufilter) { - if (ldap_count_entries($ds, ldap_search($ds, $rootdn, $ufilter)) > 0) { + if (ldap_count_entries($ds, ldap_search($ds, $u, $ufilter)) > 0) { $authenticated = true; } else { trigger_error("User not allowed.", E_USER_ERROR);