2012-11-28 16 views
2

我創建了一個PHP腳本,它將查詢LDAP服務器,查看組列表,然後獲取每個組的成員數組並將結果轉儲到MySQL數據庫。這一切都很好,但有時候我會得到外部安全主管而不是用戶。這個練習的要點是把這個成員列表轉換成非IT人員的可讀列表,所以我理想地需要名字,姓氏和可能的用戶名。然而,外交安全總監只是一串數字。將外部安全主體轉換/解碼爲可讀名稱

我們有大約80多個不同的可信域,它可能來自哪裏,所以我該如何確定這個外部帳戶屬於哪個域,以及我可以用來爲用戶搜索其他域的屬性?

回答

0

數字串應該是用戶的SID(例如S-1-5 -...)。這是您用來搜索的屬性。

SID的第一部分是域的SID,例如, S-1-5-21-1234567890-1234567890-1234567890。您應該枚舉域的信任,並找到具有該SID的域。 OK。

+0

OK。這就說得通了。是否可以使用PHP動態地計算域的SID,還是必須從Active Directory手動創建一個列表以供查看? – sacredzero

+0

@sacredzero我只有Windows域的經驗,但是如果您綁定到LDAP://domain.com/dc=domain,dc=com,則可以讀取objectSid屬性以獲取domain.com的SID。 –

+0

所以你必須循環遍歷所有的域,綁定到每個域來檢查它是否與SID匹配?我認爲最好是創建它們的緩存列表... – sacredzero