zoukankan      html  css  js  c++  java
  • PHP 获取LDAP服务器Schema数据

    最近工作中一直在与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']);
    

    原文地址:https://segmentfault.com/a/1190000015653433

  • 相关阅读:
    DOS命令
    利用cmd合并文件
    Word文档编辑
    初识Java
    变量、数据类型、运算符-2
    设计模式之策略模式
    设计模式之装饰者模式
    第18章 java I/O系统(3)
    第18章 java I/O系统(2)
    第四章 栈与队列3 (堆栈的应用)
  • 原文地址:https://www.cnblogs.com/lalalagq/p/9979880.html
Copyright © 2011-2022 走看看