PHP擷取LDAP伺服器Schema資料的方法

來源:互聯網
上載者:User
最近工作中一直在與LDAP打交道,在官方推薦的client-apis裡,可以很容易找到每個語言對應的API,進而與LDAP伺服器互動。但是在用ApacheDirectoryStudio時,這個軟體竟然能展示Schema資料,然後認真看了下官方文檔,還是沒看到有說明查詢Schema資料的地方(如果有小夥伴在文檔中看到相關說明,希望能留言告訴我)。但是找到了用php寫的用戶端phpLDAPAdmin,隨後通過其源碼,發現了如何查詢Schema資料。

通過官方文檔,我們查到Schema資料包含下面四個部分

  • syntaxes

  • attributes

  • matching_rules

  • objectclasses

以查詢objectclasses為例(也可以一次性查詢),其對應的查詢方法如下

第一種情況

$read_ret = ldap_read($ds, 'cn=Subschema', '(objectClass=subschema)', ['objectclasses']);$read_ret = ldap_read($ds, 'cn=Subschema', '(objectClass=*)', ['objectclasses']);

如果第一種查詢不到,則用第二種

$read_ret = ldap_read($ds, 'cn=Aggregate,cn=Schema,cn=configuration,dc=example,dc=com', '(objectClass=*)';$read_ret = ldap_read($ds, 'cn=Schema,cn=configuration,dc=example,dc=com', '(objectClass=*)', ['objectclasses']);$read_ret = ldap_read($ds, 'cn=Schema,ou=Admin,dc=example,dc=com', '(objectClass=*)', ['objectclasses']);

如果第二種查詢不到,則用第三種

$read_ret = ldap_read($ds, 'cn=schema,cn=config', '(objectClass=*)', ['objectclasses']);

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.