diagnostics();
$serviceResult = $ldap->testServiceBind();
$messages = [];
$errors = [];
$form = ['username' => '', 'password' => '', 'new_password' => ''];
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$action = (string) ($_POST['action'] ?? '');
$form['username'] = trim((string) ($_POST['username'] ?? ''));
$form['password'] = (string) ($_POST['password'] ?? '');
$form['new_password'] = (string) ($_POST['new_password'] ?? '');
if ($form['username'] === '') {
$errors[] = 'Benutzername ist erforderlich.';
}
if ($form['password'] === '') {
$errors[] = 'Passwort ist erforderlich.';
}
if ($action === 'change-password' && strlen($form['new_password']) < 12) {
$errors[] = 'Das neue Passwort muss mindestens 12 Zeichen lang sein.';
}
if ($errors === []) {
if ($action === 'test-login') {
$result = $ldap->testUserCredentials($form['username'], $form['password']);
if ($result['success'] ?? false) {
$messages[] = $result['message'] . ' DN: ' . (string) ($result['dn'] ?? '');
} else {
$errors[] = (string) ($result['message'] ?? 'LDAP-Login fehlgeschlagen.');
}
} elseif ($action === 'change-password') {
$loginCheck = $ldap->testUserCredentials($form['username'], $form['password']);
if (!(bool) ($loginCheck['success'] ?? false)) {
$errors[] = 'Der Login mit aktuellem Passwort ist fehlgeschlagen: ' . (string) ($loginCheck['message'] ?? '');
} else {
$result = $ldap->updateUserPassword($form['username'], $form['new_password']);
if ($result['success'] ?? false) {
$messages[] = $result['message'] . ' DN: ' . (string) ($result['dn'] ?? '');
$form['password'] = '';
$form['new_password'] = '';
} else {
$errors[] = (string) ($result['message'] ?? 'Passwortänderung fehlgeschlagen.');
}
}
}
}
}
?>
LDAP-Test
Kusche.Berlin
LDAP-Test
Diese Testseite läuft unabhängig vom eigentlichen Desktop-Login. Hier kannst du nur LDAP-Login und Passwortänderung inklusive Samba-Feldern prüfen.
Service-Bind
= htmlspecialchars((string) ($serviceResult['message'] ?? ''), ENT_QUOTES) ?>
Verbindungsdaten
- Host: = htmlspecialchars((string) ($diagnostics['host'] ?? ''), ENT_QUOTES) ?>
- Port: = htmlspecialchars((string) ($diagnostics['port'] ?? ''), ENT_QUOTES) ?>
- Bind-DN: = htmlspecialchars((string) ($diagnostics['bind_dn'] ?? ''), ENT_QUOTES) ?>
- Users-DN: = htmlspecialchars((string) ($diagnostics['users_dn'] ?? ''), ENT_QUOTES) ?>
- StartTLS: = htmlspecialchars((string) ($diagnostics['starttls'] ?? ''), ENT_QUOTES) ?>
- Gruppenmodus: = htmlspecialchars((string) ($diagnostics['group_assignment_mode'] ?? ''), ENT_QUOTES) ?>
- Gruppenattribut: = htmlspecialchars((string) ($diagnostics['group_member_attribute'] ?? ''), ENT_QUOTES) ?>
- PHP LDAP-Erweiterung: = htmlspecialchars((string) ($diagnostics['ldap_extension'] ?? ''), ENT_QUOTES) ?>
Ergebnis
- = htmlspecialchars($message, ENT_QUOTES) ?>
Bitte prüfen
- = htmlspecialchars($error, ENT_QUOTES) ?>