[英]adldap2: unable to retrieve custom user attribute
我寫了一個小的 php 腳本來檢索特定組中的所有用戶並獲得兩個值, username和employeeid 。 不幸的是,第二個字段總是空的。 但是在 Go 中執行的類似查詢返回了該值。 我已經多次閱讀Adldap 文檔,但無法弄清楚哪里出了問題。
這是我正在使用的代碼:
$ad = new \Adldap\Adldap();
$ad->addProvider($config);
$userlist = [];
try {
$provider = $ad->connect();
$group = $provider->search()->groups()->find($groupname);
foreach ($group->getMembers() as $user) {
$userlist[] = [
'AccountName' => $user->getAccountName(),
'EmployeeId' => $user->getEmployeeId(),
];
}
} catch (\Adldap\Auth\BindException $e) {
echo $e->getMessage();
}
這是 Go 中的相關工作部分。這里我只檢索了一個用戶元素:
func BindAndSearch(l *ldap.Conn, username string) (*ldap.SearchResult, error) {
l.Bind(BindUsername, BindPassword)
searchReq := ldap.NewSearchRequest(
BaseDN,
ldap.ScopeWholeSubtree,
ldap.NeverDerefAliases,
0,
0,
false,
fmt.Sprintf(Filter, ldap.EscapeFilter(username)),
[]string{"employeeID"},
nil,
)
result, err := l.Search(searchReq)
...
找到了這個 SO答案,這正是我的問題:
我正在通過端口 3268 連接到 AD。似乎只有通過端口 389 連接到 AD 才能獲取某些屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.