LDAP認証してみた。
サンプルはこんな感じ。
<?php session_start(); $errorMessage = ""; $viewUserId = $ldapDomainname = "DOMAINNAME"; //when push login button if(isset($_POST["login"])) { $ldaphost = 'DOMAIN_SERVER'; $ldapport = 389; $ldapconn = ldap_connect($ldaphost, $ldapport) or die('Unabled to connect to the server'); if($ldapconn){ $ldapUsername = $ldapDomainname . "\\" . $_POST["userid"]; $ldapbind = ldap_bind($ldapconn,$ldapUsername, $_POST["password"]); if($ldapbind){ //echo 'LDAP bind succeeded'; session_regenerate_id(TRUE); $_SESSION["USERID"] = str_replace("$ldapDomainname"."\\","",$ldapUsername); header("Location: main.php"); exit; } else{ echo 'LDAP bind failed. <br> Please enter correct username and password'; } } else{ echo 'LDAP connect failed.'; }
php5-ldapのモジュールが入ってないと使えない?のと、
ドメイン名も指定してあげないとInvalid credentialsエラーがでてきた。これはドメインサーバの設定によりけり?かな?
エラーメッセージはここが一覧になっててわかりやすかったです。ありがとうございます。