簡體   English   中英

adldap2:無法檢索自定義用戶屬性

[英]adldap2: unable to retrieve custom user attribute

我寫了一個小的 php 腳本來檢索特定組中的所有用戶並獲得兩個值, usernameemployeeid 不幸的是,第二個字段總是空的。 但是在 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM