Merge branch 'ent-3576-ldap-advanced-remote-user-unchecked' into 'develop'

Fixed ldap adv. perms continues apliying when autocreate remote is unselected

See merge request artica/pandorafms!2221
This commit is contained in:
Daniel Rodriguez 2019-06-03 15:09:15 +02:00
commit d0e99e1018
1 changed files with 32 additions and 29 deletions

View File

@ -282,39 +282,42 @@ function process_user_login_remote($login, $pass, $api=false)
} }
} }
} else if ($config['auth'] === 'ldap') { } else if ($config['auth'] === 'ldap') {
if ($config['ldap_save_password']) { // Check if autocreate remote users is active.
$update_credentials = change_local_user_pass_ldap($login, $pass); if ($config['autocreate_remote_users'] == 1) {
if ($config['ldap_save_password']) {
$update_credentials = change_local_user_pass_ldap($login, $pass);
if ($update_credentials) { if ($update_credentials) {
$config['auth_error'] = __('Your permissions have changed. Please, login again.');
return false;
}
} else {
delete_user_pass_ldap($login);
}
$permissions = fill_permissions_ldap($sr);
if (empty($permissions)) {
$config['auth_error'] = __('User not found in database or incorrect password');
return false;
} else {
// check permissions
$result = check_permission_ad(
$login,
$pass,
false,
$permissions,
defined('METACONSOLE')
);
if ($return === 'error_permissions') {
$config['auth_error'] = __('Problems with configuration permissions. Please contact with Administrator');
return false;
} else {
if ($return === 'permissions_changed') {
$config['auth_error'] = __('Your permissions have changed. Please, login again.'); $config['auth_error'] = __('Your permissions have changed. Please, login again.');
return false; return false;
} }
} else {
delete_user_pass_ldap($login);
}
$permissions = fill_permissions_ldap($sr);
if (empty($permissions)) {
$config['auth_error'] = __('User not found in database or incorrect password');
return false;
} else {
// check permissions
$result = check_permission_ad(
$login,
$pass,
false,
$permissions,
defined('METACONSOLE')
);
if ($return === 'error_permissions') {
$config['auth_error'] = __('Problems with configuration permissions. Please contact with Administrator');
return false;
} else {
if ($return === 'permissions_changed') {
$config['auth_error'] = __('Your permissions have changed. Please, login again.');
return false;
}
}
} }
} }
} }