Merge branch '1643-login-con-administrador-en-ldap-para-realizar-acciones-dev' into 'develop'
Added code to login with admin ldap user See merge request artica/pandorafms!1119
This commit is contained in:
commit
6ecc9f524c
|
@ -106,6 +106,18 @@ if (is_ajax ()) {
|
|||
$row['name'] = __('Login attribute');
|
||||
$row['control'] = html_print_input_text ('ldap_login_attr', $config['ldap_login_attr'], '', 60, 100, true);
|
||||
$table->data['ldap_login_attr'] = $row;
|
||||
|
||||
// Admin LDAP login
|
||||
$row = array();
|
||||
$row['name'] = __('Admin LDAP login');
|
||||
$row['control'] = html_print_input_text ('ldap_admin_login', $config['ldap_admin_login'], '', 60, 100, true);
|
||||
$table->data['ldap_admin_login'] = $row;
|
||||
|
||||
// Admin LDAP password
|
||||
$row = array();
|
||||
$row['name'] = __('Admin LDAP password');
|
||||
$row['control'] = html_print_input_password ('ldap_admin_pass', $config['ldap_admin_pass'], $alt = '', 60, 100, true);
|
||||
$table->data['ldap_admin_pass'] = $row;
|
||||
break;
|
||||
|
||||
case 'pandora':
|
||||
|
|
|
@ -689,6 +689,20 @@ function ldap_process_user_login ($login, $password) {
|
|||
}
|
||||
}
|
||||
|
||||
$correct_admin_bind = true;
|
||||
if ($config['ldap_admin_login'] != "" && $config['ldap_admin_pass'] != "") {
|
||||
if (!@ldap_bind($ds, io_safe_output($config['ldap_admin_login']), $config['ldap_admin_pass'])) {
|
||||
$correct_admin_bind = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$correct_admin_bind) {
|
||||
$config["auth_error"] = 'Admin ldap connection fail';
|
||||
@ldap_close ($ds);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
$dc = io_safe_output($config["ldap_base_dn"]);
|
||||
|
||||
#Search group of this user it belong.
|
||||
|
@ -770,6 +784,20 @@ function get_ldap_login_attr ($login) {
|
|||
switch ($config['ldap_login_user_attr']) {
|
||||
case 'email':
|
||||
$dc = io_safe_output($config["ldap_base_dn"]);
|
||||
|
||||
$correct_admin_bind = true;
|
||||
if ($config['ldap_admin_login'] != "" && $config['ldap_admin_pass'] != "") {
|
||||
if (!@ldap_bind($ds, io_safe_output($config['ldap_admin_login']), $config['ldap_admin_pass'])) {
|
||||
$correct_admin_bind = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$correct_admin_bind) {
|
||||
$config["auth_error"] = 'Admin ldap connection fail';
|
||||
@ldap_close ($ds);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
$filter="(" . $config['ldap_login_attr'] . "=" . io_safe_output($id_user) . ")";
|
||||
$justthese = array("mail");
|
||||
|
@ -859,6 +887,20 @@ function prepare_permissions_groups_of_user_ldap ($id_user, $password,
|
|||
|
||||
$dc = io_safe_output($config["ldap_base_dn"]);
|
||||
|
||||
$correct_admin_bind = true;
|
||||
if ($config['ldap_admin_login'] != "" && $config['ldap_admin_pass'] != "") {
|
||||
if (!@ldap_bind($ds, io_safe_output($config['ldap_admin_login']), $config['ldap_admin_pass'])) {
|
||||
$correct_admin_bind = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$correct_admin_bind) {
|
||||
$config["auth_error"] = 'Admin ldap connection fail';
|
||||
@ldap_close ($ds);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
#Search group of this user it belong.
|
||||
$filter="(" . $config['ldap_login_attr'] . "=" . io_safe_output($id_user) . ")";
|
||||
$justthese = array("objectclass=group");
|
||||
|
|
|
@ -343,6 +343,10 @@ function config_update_config () {
|
|||
$error_update[] = __('Base DN');
|
||||
if (!config_update_value ('ldap_login_attr', get_parameter ('ldap_login_attr')))
|
||||
$error_update[] = __('Login attribute');
|
||||
if (!config_update_value ('ldap_admin_login', get_parameter ('ldap_admin_login')))
|
||||
$error_update[] = __('Admin LDAP login');
|
||||
if (!config_update_value ('ldap_admin_pass', get_parameter ('ldap_admin_pass')))
|
||||
$error_update[] = __('Admin LDAP password');
|
||||
if (!config_update_value ('fallback_local_auth', get_parameter ('fallback_local_auth')))
|
||||
$error_update[] = __('Fallback to local authentication');
|
||||
if (!config_update_value ('ldap_login_user_attr', get_parameter ('ldap_login_user_attr')))
|
||||
|
@ -1358,6 +1362,14 @@ function config_process_config () {
|
|||
if (!isset ($config['ldap_login_attr'])) {
|
||||
config_update_value ( 'ldap_login_attr', 'uid');
|
||||
}
|
||||
|
||||
if (!isset ($config['ldap_admin_login'])) {
|
||||
config_update_value ( 'ldap_admin_login', '');
|
||||
}
|
||||
|
||||
if (!isset ($config['ldap_admin_pass'])) {
|
||||
config_update_value ( 'ldap_admin_pass', '');
|
||||
}
|
||||
|
||||
if (!isset ($config['fallback_local_auth'])) {
|
||||
config_update_value ( 'fallback_local_auth', '0');
|
||||
|
|
Loading…
Reference in New Issue