Pracuję na stronie typu deski rozdzielczej. Mamy stronę logowania zaimplementowaną w php, która uwierzytelnia się na serwerze LDAP. Mamy również stronę Check_MK, która ma własne okno dialogowe logowania, które uwierzytelnia się na tym samym serwerze LDAP. Chciałbym, aby użytkownik nie musiał ponownie wprowadzać swoich referencji do okna logowania Check_MK. Wolałbym, aby poświadczenia wprowadzone na naszej stronie logowania php były przekazywane do Check_MK, aby uwierzytelnianie było możliwe bez interakcji użytkownika. czy to możliwe? Jeśli tak, jak to zrobić?Jak mogę zaimplementować funkcję pojedynczego logowania w Check_MK?
Edytuj dla tych, którzy oznaczyli to jako zbyt szerokie, proszę wyjaśnić.
I był w stanie uzyskać automatyczne logowanie z check_MK przekazując nazwę użytkownika i hasło, za pomocą adresu URL, jak opisano na tej stronie: http://stichl.at/2014/04/check_mk-multisite-auto-login/
nie sądzę, że to będzie realną opcją dla mnie jednak, jak się wydaje być niezabezpieczonym, jak to jest szczegółowo opisane w tym pytaniu. Is it secure to pass login credentials as plain text in an HTTPS URL?
Mimo że jestem open source, nie jestem w stanie zmodyfikować pliku login.py checkMK ze względu na jego licencję GNU. Oprócz przekazywania poświadczeń za pośrednictwem adresu URL w postaci zwykłego tekstu, w jaki sposób mogę użyć danych logowania na mojej stronie logowania do php, aby automatycznie logować się na stronie check_MK?
Poniżej znajduje się kod php/html, w którym otwieram ekran logowania 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 kod logowania można znaleźć tutaj: https://github.com/sileht/check_mk/blob/master/web/htdocs/login.py
Odpowiednia funkcja nazywa do_login i jest na linii 147.
Konkretnie, nie wiem, jak komunikować wartości moje zmienne sesji (nazwa użytkownika i hasło) do kodu login.py w bezpieczny sposób.
To jest mój pierwszy kontakt z dowolnym z tych języków i technologii. Nawet sugestie dotyczące wyszukiwanych haseł zostałyby docenione.
_Co to jest LDAP? _ –
To pytanie jest zbyt ogólne, ponieważ nie pokazałeś, gdzie w konkretnym kodzie utknąłeś.Stack Overflow ma na celu dostarczanie konkretnych rozwiązań konkretnych problemów, a nie pisanie całych wdrożeń. – mhlester
Powinieneś być bezpieczny *, jeśli * wysyłasz POST przez HTTPS, gdy podążacie za http://stichl.at/2014/04/check_mk-multisite-auto-login/ instrukcjami. Punkt początkowy używający jquery: '$ .post (" https: // somewebhost/site/check_mk/", {" _username ":" user "," _password ":" pass "," _login ": 1}); ' –