1. 程式人生 > >PHP下使用ldap域賬戶認證密碼

PHP下使用ldap域賬戶認證密碼

以前用過一個模組來呼叫認證域帳號的,後來發現引用程式碼太多,因為只是為了做帳號密碼認證,不做其他任何查詢什麼的,所以乾脆拔程式碼自己精簡下,下面的程式碼只是利用了輸入正確的帳號密碼建立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">';
    }
?>