Click here to try again.'; exit; } if(!isset($_SERVER['PHP_AUTH_USER']) || ($_GET['logout'] == 1 && isset($_SESSION['user']) && isset($_SESSION['domain']))){ session_unset(); authenticate(); } else { $_SESSION["domain"] = $domain = 'MYDOMAIN'; // <- your domain $_SESSION["user"] = strtoupper($_SERVER["PHP_AUTH_USER"]); $_SESSION["password"] = $_SERVER["PHP_AUTH_PW"]; $LDAPServerAddress1="192.168.1.xxx"; // <- IP address for your 1st DC $LDAPServerAddress2="192.168.1.xxx"; // <- IP address for your 2nd DC...and so on... $LDAPServerPort="389"; $LDAPServerTimeOut ="60"; $LDAPContainer="dc=mydomain,dc=com"; // <- your domain info $BIND_username = "mydomain\\authaccountuser"; // <- an account in AD to test using $BIND_password = "authaccountpass"; $filter = "sAMAccountName=".$_SESSION["user"]; $login_error_code = 0; if(($ds=ldap_connect($LDAPServerAddress1)) || ($ds=ldap_connect($LDAPServerAddress2))) { ldap_set_option($ds, LDAP_OPT_REFERRALS, 0); ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); if($r=ldap_bind($ds,$BIND_username,$BIND_password)) { if($sr=ldap_search($ds, $LDAPContainer, $filter, array('distinguishedName'))) { if($info = ldap_get_entries($ds, $sr)) { $BIND_username = $info[0]['distinguishedname'][0]; $BIND_password = $_SERVER["PHP_AUTH_PW"]; if ($r2=ldap_bind($ds,$BIND_username,$BIND_password)) { if($sr2=ldap_search($ds, $LDAPContainer, $filter, array("givenName","sn","mail","displayName"))) { if($info2 = ldap_get_entries($ds, $sr2)) { $_SESSION["name"] = $info2[0]["givenname"][0]." ".$info2[0]["sn"][0]; $_SESSION["email"] = $info2[0]["mail"][0]; $_SESSION["displayname"] = $info2[0]["displayname"][0]; } else { $login_error = "Could not read entries"; $login_error_code=1; } } else { $login_error = "Could not search"; $login_error_code=2; } } else { $login_error = "User password incorrect"; $login_error_code=3; } } else { $login_error = "User name not found"; $login_error_code=4; } } else { $login_error = "Could not search"; $login_error_code=5; } } else { $login_error = "Could not bind"; $login_error_code=6; } } else { $login_error = "Could not connect"; $login_error_code=7; } if($login_error_code > 0){ authenticate(); } else { echo 'Welcome ' . $_SESSION["displayname"]; echo '

Click here to logout and try again.'; } } ?>