function ldap_bind_session() { if (!isset($_SESSION['ldapDn']) || !$_SESSION['ldapDn']) { header('Location: login.php'); exit; } $ldapDn = $_SESSION['ldapDn']; $password = $_SESSION['password']; $ldapconn = ldap_connect_options(); $bind_success = ldap_bind($ldapconn, $ldapDn, $password); if (!$bind_success) { unset($_SESSION['ldapDn']); unset($_SESSION['password']); header('Location: login.php'); exit; } return $ldapconn; }
session_start(); $ret = ''; $postdata = file_get_contents("php://input"); $request = (array) json_decode($postdata); if (empty($request['cn'])) { http_response_code(400); die("Missing parameter: cn"); } $ldapDn = 'cn=' . $request['cn'] . ',' . USER_DN; if (empty($request['pw'])) { http_response_code(400); die("Missing parameter: pw"); } $password = $request['pw']; $ret .= $ldapDn . "\n" . $password . "\n"; $ldapconn = ldap_connect_options(); $bind_success = ldap_bind($ldapconn, $ldapDn, $password); if ($bind_success) { $user = User::readUser($ldapconn, $ldapDn); $user->loadGroupInformation(); $_SESSION['ldapDn'] = $ldapDn; $_SESSION['password'] = $password; $_SESSION['displayName'] = $user->displayName; session_write_close(); ldap_close($ldapconn); http_response_code(200); echo json_encode($user); } else { http_response_code(403); ldap_close($ldapconn); echo $ret;