PHP下使用ldap域賬戶認證密碼
阿新 • • 發佈:2018-11-01
以前用過一個模組來呼叫認證域帳號的,後來發現引用程式碼太多,因為只是為了做帳號密碼認證,不做其他任何查詢什麼的,所以乾脆拔程式碼自己精簡下,下面的程式碼只是利用了輸入正確的帳號密碼建立ldap連線來判斷密碼是否正確。
<?php if (isset($_POST['UserName'])) { $_SESSION['txtNo']=$_POST['UserName'] ; $ldapConnect=ldap_connect('192.168.1.200' , '389' ); //建立到ldap伺服器的連線192.168.1.200是ldap伺服器ip,389是ldap伺服器埠(預設389) $bind= @ldap_bind($ldapConnect , $_POST['UserName'] . '@yourname.local',$_POST['PassWord'] ); //驗證帳號密碼,ldap_bind第一個為繫結的連線,第二個為使用者名稱(注意是否有後綴),第三個為密碼。 if($bind ) {//驗證成功,跳轉到ok.php $_SESSION['login']="ok"; echo '<meta http-equiv="refresh" content="0;url=ok.php">'; } else {//驗證失敗,彈出提示,並跳轉回login.php echo "<script>alert('使用者名稱或密碼錯誤')</script>"; echo '<meta http-equiv="refresh" content="0;url=login.php">'; } ldap_close($ldapConnect); //關閉ldap連線 } else { echo "<script>alert('使用者名稱或密碼錯誤')</script>"; echo '<meta http-equiv="refresh" content="0;url=login.php">'; } ?>