Merge branch 'ent-7049-permitir-seleccionar-a-nivel-de-usuario-si-autenticara-local-o-remotamente-ldap-ad' into 'develop'
Added token local user to allow enabling local auth at user level See merge request artica/pandorafms!4668
This commit is contained in:
commit
45b97be611
|
@ -2,8 +2,7 @@
|
|||
|
||||

|
||||
|
||||
|
||||
With more than 50,000 customer installations across the five continents, Pandora FMS is an out-of-the-box monitoring solution: profitable and scalable, covering most infrastructure deployment options.
|
||||
With more than 50,000 customer installations across the five continents, Pandora FMS is an out-of-the-box monitoring solution: profitable and scalable, covering most infrastructure deployment options.
|
||||
|
||||
Pandora FMS gives you the agility to find and solve problems quickly, scaling them so they can be derived from any source, on-premise, multi cloud or both of them mixed. Now you have that capability across your entire IT stack and analytics to find any problem, even the ones that are hard to find.
|
||||
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
START TRANSACTION;
|
||||
|
||||
ALTER TABLE `tpolicy_queue` MODIFY COLUMN `progress` int(10) NOT NULL default '0';
|
||||
CREATE INDEX `IDX_tservice_element` ON `tservice_element`(`id_service`,`id_agente_modulo`);
|
||||
ALTER TABLE `tusuario` ADD COLUMN `local_user` tinyint(1) unsigned NOT NULL DEFAULT 0;
|
||||
ALTER TABLE tevent_response ADD COLUMN display_command tinyint(1) default 0;
|
||||
|
||||
ALTER TABLE `talert_templates` ADD COLUMN `schedule` TEXT;
|
||||
|
|
|
@ -1551,6 +1551,7 @@ ALTER TABLE `tusuario` MODIFY COLUMN `default_event_filter` int(10) unsigned NOT
|
|||
DROP INDEX `fk_id_filter`;
|
||||
ALTER TABLE `tusuario` ADD COLUMN `integria_user_level_user` VARCHAR(60);
|
||||
ALTER TABLE `tusuario` ADD COLUMN `integria_user_level_pass` VARCHAR(45);
|
||||
ALTER TABLE `tusuario` ADD COLUMN `local_user` tinyint(1) unsigned NOT NULL DEFAULT 0;
|
||||
|
||||
|
||||
-- ---------------------------------------------------------------------
|
||||
|
|
|
@ -639,20 +639,20 @@ $table->data[5][1] = "
|
|||
<tr><td>".ui_get_using_system_timezone_warning().'</td></tr>
|
||||
<tr>
|
||||
<td>'.__('Type Periodicity:').' '.html_print_select(
|
||||
[
|
||||
'weekly' => __('Weekly'),
|
||||
'monthly' => __('Monthly'),
|
||||
],
|
||||
'type_periodicity',
|
||||
$type_periodicity,
|
||||
'change_type_periodicity();',
|
||||
'',
|
||||
0,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
'',
|
||||
$disabled_in_execution
|
||||
[
|
||||
'weekly' => __('Weekly'),
|
||||
'monthly' => __('Monthly'),
|
||||
],
|
||||
'type_periodicity',
|
||||
$type_periodicity,
|
||||
'change_type_periodicity();',
|
||||
'',
|
||||
0,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
'',
|
||||
$disabled_in_execution
|
||||
)."</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -672,31 +672,31 @@ $table->data[5][1] = "
|
|||
<tr>
|
||||
<td>".__('From day:').'</td>
|
||||
<td>'.html_print_select(
|
||||
$days,
|
||||
'periodically_day_from',
|
||||
$periodically_day_from,
|
||||
'',
|
||||
'',
|
||||
0,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
'',
|
||||
$disabled_in_execution
|
||||
$days,
|
||||
'periodically_day_from',
|
||||
$periodically_day_from,
|
||||
'',
|
||||
'',
|
||||
0,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
'',
|
||||
$disabled_in_execution
|
||||
).'</td>
|
||||
<td>'.__('To day:').'</td>
|
||||
<td>'.html_print_select(
|
||||
$days,
|
||||
'periodically_day_to',
|
||||
$periodically_day_to,
|
||||
'',
|
||||
'',
|
||||
0,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
'',
|
||||
$disabled_in_execution
|
||||
$days,
|
||||
'periodically_day_to',
|
||||
$periodically_day_to,
|
||||
'',
|
||||
'',
|
||||
0,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
'',
|
||||
$disabled_in_execution
|
||||
).'</td>
|
||||
<td>'.ui_print_help_tip(__('The end day must be higher than the start day'), true).'</td>
|
||||
</tr>
|
||||
|
@ -705,26 +705,26 @@ $table->data[5][1] = "
|
|||
<tr>
|
||||
<td>'.__('From hour:').'</td>
|
||||
<td>'.html_print_input_text(
|
||||
'periodically_time_from',
|
||||
$periodically_time_from,
|
||||
'',
|
||||
7,
|
||||
7,
|
||||
true,
|
||||
$disabled_in_execution
|
||||
'periodically_time_from',
|
||||
$periodically_time_from,
|
||||
'',
|
||||
7,
|
||||
7,
|
||||
true,
|
||||
$disabled_in_execution
|
||||
).ui_print_help_tip(
|
||||
__('The end time must be higher than the start time'),
|
||||
true
|
||||
).'</td>
|
||||
<td>'.__('To hour:').'</td>
|
||||
<td>'.html_print_input_text(
|
||||
'periodically_time_to',
|
||||
$periodically_time_to,
|
||||
'',
|
||||
7,
|
||||
7,
|
||||
true,
|
||||
$disabled_in_execution
|
||||
'periodically_time_to',
|
||||
$periodically_time_to,
|
||||
'',
|
||||
7,
|
||||
7,
|
||||
true,
|
||||
$disabled_in_execution
|
||||
).ui_print_help_tip(
|
||||
__('The end time must be higher than the start time'),
|
||||
true
|
||||
|
@ -1008,13 +1008,13 @@ $table->data['module'][1] = "
|
|||
<td class='cell_delete_button' style='text-align: right; width:10%;' id=''>".'<a class="link_delete"
|
||||
onclick="if(!confirm(\''.__('Are you sure?').'\')) return false;"
|
||||
href="">'.html_print_image(
|
||||
'images/cross.png',
|
||||
true,
|
||||
[
|
||||
'border' => '0',
|
||||
'alt' => __('Delete'),
|
||||
'class' => 'invert_filter',
|
||||
]
|
||||
'images/cross.png',
|
||||
true,
|
||||
[
|
||||
'border' => '0',
|
||||
'alt' => __('Delete'),
|
||||
'class' => 'invert_filter',
|
||||
]
|
||||
).'</a>'."</td>
|
||||
</tr>
|
||||
<tr class='datos2' id='add_modules_row'>
|
||||
|
|
|
@ -4004,23 +4004,23 @@ function print_SLA_list($width, $action, $idItem=null)
|
|||
],
|
||||
]
|
||||
);
|
||||
if (!empty($services_tmp)
|
||||
&& $services_tmp != ENTERPRISE_NOT_HOOK
|
||||
if (!empty($services_tmp)
|
||||
&& $services_tmp != ENTERPRISE_NOT_HOOK
|
||||
) {
|
||||
foreach ($services_tmp as $service) {
|
||||
$check_module_sla = modules_check_agentmodule_exists(
|
||||
$service['sla_id_module']
|
||||
);
|
||||
$check_module_sla_value = modules_check_agentmodule_exists(
|
||||
$service['sla_value_id_module']
|
||||
);
|
||||
if ($check_module_sla
|
||||
&& $check_module_sla_value
|
||||
) {
|
||||
foreach ($services_tmp as $service) {
|
||||
$check_module_sla = modules_check_agentmodule_exists(
|
||||
$service['sla_id_module']
|
||||
);
|
||||
$check_module_sla_value = modules_check_agentmodule_exists(
|
||||
$service['sla_value_id_module']
|
||||
);
|
||||
if ($check_module_sla
|
||||
&& $check_module_sla_value
|
||||
) {
|
||||
$services[$service['id']] = $service['name'];
|
||||
}
|
||||
}
|
||||
$services[$service['id']] = $service['name'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
echo '<td class="sla_list_service_col">';
|
||||
echo html_print_select(
|
||||
|
|
|
@ -285,6 +285,7 @@ if ($new_user && $config['admin_can_add_user']) {
|
|||
$user_info['language'] = 'default';
|
||||
$user_info['timezone'] = '';
|
||||
$user_info['not_login'] = false;
|
||||
$user_info['local_user'] = false;
|
||||
$user_info['strict_acl'] = false;
|
||||
$user_info['session_time'] = 0;
|
||||
$user_info['middlename'] = 0;
|
||||
|
@ -370,6 +371,7 @@ if ($create_user) {
|
|||
}
|
||||
|
||||
$values['not_login'] = (bool) get_parameter('not_login', false);
|
||||
$values['local_user'] = (bool) get_parameter('local_user', false);
|
||||
$values['middlename'] = get_parameter('middlename', 0);
|
||||
$values['strict_acl'] = (bool) get_parameter('strict_acl', false);
|
||||
$values['session_time'] = (int) get_parameter('session_time', 0);
|
||||
|
@ -571,6 +573,7 @@ if ($update_user) {
|
|||
}
|
||||
|
||||
$values['not_login'] = (bool) get_parameter('not_login', false);
|
||||
$values['local_user'] = (bool) get_parameter('local_user', false);
|
||||
$values['strict_acl'] = (bool) get_parameter('strict_acl', false);
|
||||
$values['session_time'] = (int) get_parameter('session_time', 0);
|
||||
|
||||
|
@ -1212,6 +1215,18 @@ $not_login .= html_print_checkbox_switch(
|
|||
true
|
||||
).'</div>';
|
||||
|
||||
$local_user = '<div class="label_select_simple"><p class="edit_user_labels">'.__('Local user').'</p>';
|
||||
$local_user .= ui_print_help_tip(
|
||||
__('The user with local authentication enabled will always use local authentication.'),
|
||||
true
|
||||
);
|
||||
$local_user .= html_print_checkbox_switch(
|
||||
'local_user',
|
||||
1,
|
||||
$user_info['local_user'],
|
||||
true
|
||||
).'</div>';
|
||||
|
||||
$session_time = '<div class="label_select_simple"><p class="edit_user_labels">'.__('Session Time');
|
||||
$session_time .= ui_print_help_tip(
|
||||
__('This is defined in minutes, If you wish a permanent session should putting -1 in this field.'),
|
||||
|
@ -1379,7 +1394,7 @@ if ($id != '' && !$is_err) {
|
|||
echo '<div id="user_form">
|
||||
<div class="user_edit_first_row">
|
||||
<div class="edit_user_info white_box">'.$div_user_info.'</div>
|
||||
<div class="edit_user_autorefresh white_box"><p class="bolder">Extra info</p>'.$email.$phone.$not_login.$session_time.'</div>
|
||||
<div class="edit_user_autorefresh white_box"><p class="bolder">Extra info</p>'.$email.$phone.$not_login.$local_user.$session_time.'</div>
|
||||
</div>
|
||||
<div class="user_edit_second_row white_box">
|
||||
<div class="edit_user_options">'.$language.$access_or_pagination.$skin.$home_screen.$default_event_filter.$double_authentication.'</div>
|
||||
|
|
|
@ -82,8 +82,15 @@ function process_user_login($login, $pass, $api=false)
|
|||
{
|
||||
global $config;
|
||||
|
||||
// 0. Check first is user y set as local user.
|
||||
$local_user = (bool) db_get_value_filter(
|
||||
'local_user',
|
||||
'tusuario',
|
||||
['id_user' => $login]
|
||||
);
|
||||
|
||||
// 1. Try remote.
|
||||
if (strtolower($config['auth']) != 'mysql') {
|
||||
if ($local_user !== true && strtolower($config['auth']) != 'mysql') {
|
||||
$login_remote = process_user_login_remote(
|
||||
$login,
|
||||
io_safe_output($pass),
|
||||
|
@ -97,6 +104,7 @@ function process_user_login($login, $pass, $api=false)
|
|||
if ($login_remote === false
|
||||
&& ($config['fallback_local_auth']
|
||||
|| is_user_admin($login)
|
||||
|| $local_user === true
|
||||
|| strtolower($config['auth']) == 'mysql')
|
||||
) {
|
||||
return process_user_login_local($login, $pass, $api);
|
||||
|
|
|
@ -557,13 +557,13 @@ $table_ichanges = '<div class="autorefresh_select">
|
|||
</div>
|
||||
<div class="autorefresh_select_arrows" style="display:grid">
|
||||
<a href="javascript:">'.html_print_image(
|
||||
'images/darrowright_green.png',
|
||||
true,
|
||||
[
|
||||
'id' => 'right_autorefreshlist',
|
||||
'alt' => __('Push selected pages into autorefresh list'),
|
||||
'title' => __('Push selected pages into autorefresh list'),
|
||||
]
|
||||
'images/darrowright_green.png',
|
||||
true,
|
||||
[
|
||||
'id' => 'right_autorefreshlist',
|
||||
'alt' => __('Push selected pages into autorefresh list'),
|
||||
'title' => __('Push selected pages into autorefresh list'),
|
||||
]
|
||||
).'</a>
|
||||
<a href="javascript:">'.html_print_image(
|
||||
'images/darrowleft_green.png',
|
||||
|
|
|
@ -1289,6 +1289,7 @@ CREATE TABLE IF NOT EXISTS `tusuario` (
|
|||
`login_blocked` TINYINT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`metaconsole_access` ENUM('basic','advanced') DEFAULT 'basic',
|
||||
`not_login` TINYINT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`local_user` TINYINT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`metaconsole_agents_manager` TINYINT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`metaconsole_assigned_server` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`metaconsole_access_node` TINYINT UNSIGNED NOT NULL DEFAULT 0,
|
||||
|
|
Loading…
Reference in New Issue