资讯专栏INFORMATION COLUMN

PHP 获取LDAP服务器Schema数据

buildupchao / 1386人阅读

摘要:最近工作中一直在与打交道,在官方推荐的里,可以很容易找到每个语言对应的,进而与服务器交互。但是找到了用写的客户端,随后通过其源码,发现了如何查询数据。

最近工作中一直在与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://www.ucloud.cn/yun/29049.html

相关文章

  • 运维笔记:zabbix的运用(1)安装过程

    摘要:前言如果是用了阿里云或者腾讯云,他们都有各种监控帮我们做好。但是如果是遇到了自己维护自己机房的服务器,那么一些可视化或者监控就很有意义了。监控可能有很多种方案,这里就以比较老牌通吃的来解决服务监控问题。由于是可视化的,所以需要服务。 前言 如果是用了阿里云或者腾讯云,他们都有各种监控帮我们做好。但是如果是遇到了自己维护自己机房的服务器,那么一些可视化或者监控就很有意义了。监控可能有很多...

    EscapedDog 评论0 收藏0
  • 运维笔记:zabbix的运用(1)安装过程

    摘要:前言如果是用了阿里云或者腾讯云,他们都有各种监控帮我们做好。但是如果是遇到了自己维护自己机房的服务器,那么一些可视化或者监控就很有意义了。监控可能有很多种方案,这里就以比较老牌通吃的来解决服务监控问题。由于是可视化的,所以需要服务。 前言 如果是用了阿里云或者腾讯云,他们都有各种监控帮我们做好。但是如果是遇到了自己维护自己机房的服务器,那么一些可视化或者监控就很有意义了。监控可能有很多...

    wangtdgoodluck 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<