2011-02-09 63 views
4

我有Active Directory中的密碼問題。 我想從用戶的「用戶名」獲得密碼 我試過功能「ldap_search」,但我沒有找到正確的屬性的密碼 我試着:password,userpassword,userPassword,unicodePwd,unicodepwd,但他們是不正確的。如何在php中通過ldap獲取活動目錄的密碼?

我期待着幫助大家 感謝所有:d trankinhly

+1

你確切的要求是什麼;獲取密碼或通過Active Directory驗證某人身份? – 2011-02-09 08:58:17

回答

3

我只是質疑的Active Directory(在Ubuntu 10.04使用ldapsearch)一個MS-Windows Server 2003上運行,它只是似乎可以檢索以下內容並注意密碼不存在。

givenName 
distinguishedName 
instanceType 
whenCreated 
whenChanged 
displayName 
uSNCreated 
memberOf 
uSNChanged 
name 
objectGUID 
userAccountControl 
badPwdCount 
codePage 
countryCode 
badPasswordTime 
lastLogoff 
lastLogon 
pwdLastSet 
primaryGroupID 
objectSid 
accountExpires 
logonCount 
sAMAccountName 
sAMAccountType 
userPrincipalName 

您也可以參考:

6

密碼在Active Directory中無法找回。它們也不在大多數目錄中。 (eDirectory有一個密碼策略,如果你綁定爲指定的用戶,那麼你可以通過LDAP擴展來獲取密碼)

某些目錄可能讓你恢復哈希版本,但那也不是那麼好。

是跨平臺的,不如試着和提供,無論是成功或失敗的值綁定。此外,LDAP表示,使用空密碼的綁定實際上是一個匿名綁定,可能會成功,因此您需要爲該情況進行過濾。

一旦作爲用戶綁定,您可以查看他們的組成員資格(因爲通常他們可以看到他們自己的)或查看其他屬性,如果他們能夠讀取它,意味着他們有一定的權限。 (即,實施授權以及認證)。

4

AD不以純文本形式存儲密碼。密碼哈希存儲在unicodePwd中。該屬性只能使用ldapi接口進行檢索。常規的ldap_search不會返回任何內容。