我正在开发仪表板类型的网站。我们有一个用 php 实现的登录页面,它针对 LDAP 服务器进行身份验证。我们还有一个 Check_MK 页面,它有自己的登录对话框,可以针对同一个 LDAP 服务器进行身份验证。我希望用户不必在 Check_MK 登录对话框中重新输入他们的凭据。我希望将输入到我们的 php 登录页面的凭据传递给 Check_MK,以便无需用户交互即可完成身份验证。这可能吗?如果是这样,我该怎么做?
编辑那些标记为太宽泛的人,请解释。
我可以通过本网站所述的 url 传递用户名和密码来使用 check_MK 自动登录:http://stichl.at/2014/04/check_mk-multisite-auto-login/我
不认为这对我来说将是一个可行的选择,因为它似乎不安全,正如这个问题中详述的那样,在 HTTPS URL 中将登录凭据作为纯文本传递是否安全?
虽然是开源的,但由于它的 GNU 许可证,我无法修改 checkMK login.py 文件。除了通过 URL 以纯文本形式传递凭据之外,我如何使用提供给我的 php 登录页面的凭据自动登录到 check_MK 页面?
下面是我打开 Check_MK 登录屏幕的 php/html 代码。
<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 代码。
这是我第一次接触这些语言和技术。即使是搜索词建议也会受到赞赏。