Fixed ldap adv. perms continues apliying when autocreate remote is unselected by cheking it on user login
Former-commit-id: ca6a8a1217ec41d7edadf971e935d506ad9e0cff
This commit is contained in:
parent
65b89f6688
commit
f6b6073a16
|
@ -282,39 +282,42 @@ function process_user_login_remote($login, $pass, $api=false)
|
|||
}
|
||||
}
|
||||
} else if ($config['auth'] === 'ldap') {
|
||||
if ($config['ldap_save_password']) {
|
||||
$update_credentials = change_local_user_pass_ldap($login, $pass);
|
||||
// Check if autocreate remote users is active.
|
||||
if ($config['autocreate_remote_users'] == 1) {
|
||||
if ($config['ldap_save_password']) {
|
||||
$update_credentials = change_local_user_pass_ldap($login, $pass);
|
||||
|
||||
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') {
|
||||
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.');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue