1
0
mirror of https://github.com/misterunknown/ifm.git synced 2025-08-09 17:46:31 +02:00

LDAP filter fix, disable reload on submit login form.

LDAP Template new format: auth;server_url;baseDN;userUID;user_filter
LDAP Example  ldap;ldap[s]://ldap.example.com:389[636];cn=users,cn=accounts,dc=example,dc=com;uid;(objectClass=*)
This commit is contained in:
Anton Baranov
2021-11-27 23:39:29 +02:00
parent ff4d4a5a80
commit 2bd7d2bcd7
2 changed files with 16 additions and 11 deletions

View File

@@ -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");
// }
});
};

View File

@@ -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);