2015-10-05 25 views
1

我是使用LDAP開展全新的工作,並且一直在研究有關使用PHP和LDAP的圓頂研究。雖然我想要做的並不是很複雜,但我認爲在一些指導下我可以做到這一點。我想知道該怎麼做才能找到當前計算機的唯一用戶名或通過LDAP登錄的密鑰。每個用戶都有自己的計算機登錄。如果我只能回顯當前登錄計算機的用戶名的值,我可以認爲我需要的一切都沒有問題。有人可以通過創建一個簡單的連接來提取用戶名,爲我提供一些指導。我想這會是會話價值。如何通過PHP提出對當前LDAP用戶名的請求

感謝您的任何幫助!

+0

感謝RamRaider,無法相信我的語法! –

+0

可能的重複http://stackoverflow.com/questions/168610/can-you-get-a-windows-ad-username-in-php – Scuzzy

回答

0

不確定只有php可以訪問當前的計算機數據。公司可以將其目錄用作所有訪問憑證的集中位置。用PHP你可以:

<?php 
function authorizeUserWithLdap($user,$pass){ 

    $ldaphost = "ldap.yourldaphost.com"; 
    $ldapport = 389; //default ldap port 

    //establish connection to ldap 
    $connect = ldap_connect($ldaphost,$ldapport); 

    if(!$connect){ 

     return "Error connecting to LDAP"; 

    }else{ 

     //if successfully connected try to bind with the $user, $pass credentials 
     if(ldap_bind($connection,$user,$pass){ 

      //If able to bind with user, start session and return message 
      session_start(); 
      $_SESSION['user'] = $user; 
      $_SESSION['status'] = 'logged in'; 

      return "Successfully Authorized" 

     }else{ 

      return "wrong user or pass" ; 

     } 
    } 
} 
echo authorizeUserWithLdap("User","Pass"); 
?> 

這是基礎知識。現在,Active Directory上的用戶可以使用同一用戶登錄到您的應用程序,並通過他們登錄到他們的計算機。還有幾條線路用於實施LDAP版本和安全連接。在成功綁定之後,您可能想要使用ldap_search()獲取一些用戶數據並將其存儲在$ _SESSION變量中,例如用戶真實姓名,帳戶權限等。

相關問題