Я работаю над веб-сайтом типа приборной панели. У нас есть страница входа, реализованная на php, которая аутентифицируется на сервере LDAP. У нас также есть страница Check_MK, которая имеет собственный диалог входа в систему, который аутентифицируется на том же сервере LDAP. Я бы хотел, чтобы пользователю не приходилось повторно вводить свои учетные данные в диалоговом окне входа Check_MK. Я бы предпочел, чтобы учетные данные, введенные на нашей странице входа в php, передавались в Check_MK, чтобы аутентификация могла выполняться без взаимодействия с пользователем. Это возможно? Если да, то как мне это сделать?
Отредактируйте для тех, кто пометил это как слишком широкое, поясните.
Мне удалось получить автоматический вход с помощью check_MK, передав имя пользователя и пароль через URL-адрес, как описано на этом веб-сайте: http://stichl.at/2014/04/check_mk-multisite-auto-login/
Я не думаю, что это будет жизнеспособным вариантом для меня, хотя поскольку это кажется небезопасным, как подробно описано в этом вопросе Безопасно ли передавать учетные данные для входа в виде обычного текста в URL-адрес HTTPS?
Несмотря на открытый исходный код, я не могу изменить файл checkMK login.py из-за его лицензии GNU. Помимо передачи учетных данных через URL-адрес в виде обычного текста, как я могу использовать учетные данные, предоставленные моей странице входа в php, для автоматического входа на страницу check_MK?
Ниже приведен код php / html, в котором я открываю экран входа в систему Check_MK.
<script type="text/javascript">
var version = global.dashboard_version;
console.log("version = " + version);
var url = global.ips[version+"_nagios_iframe"];
var suffix = <?php echo "'".
'&_username='.
$_SESSION['username'].
'&_password='.
$_SESSION['password'].
"&_login=1'";?>;
console.log("suffix = "+suffix);
url = url + suffix;
console.log("url = "+url);
document.getElementById("nagiosiframe").src = url;
</script>
Код для входа в Check_MK можно найти здесь: https://github.com/sileht/check_mk/blob/master/web/htdocs/login.py
Соответствующая функция называется do_login и находится в строке 147.
В частности, я не знаю, как безопасно передать значения переменных сеанса (имя пользователя и пароль) коду login.py.
Это мое первое знакомство с любым из этих языков и технологий. Приветствуются даже предложения по поисковому запросу.
$.post("https://somewebhost/site/check_mk/", {"_username": "user", "_password": "pass", "_login": 1});
- person Honore Doktorr   schedule 06.05.2015