alaneor/ad-x

此包已被弃用,不再维护。未建议替代包。

针对php的极强Active Directory接口

0.3.4 2016-06-06 08:59 UTC

This package is not auto-updated.

Last update: 2024-01-06 11:41:27 UTC


README

AD-X库旨在提供一个易于使用、面向对象且功能强大的工具,用于处理Active Directory及相关组件,如Exchange。

功能

重要的功能

  • 易于理解、面向对象的Active Directory API
  • 自动数据转换 - 使用此库,您在php中使用值之前无需将其转换为其他类型(例如unicodePwdlastLogonTimestamp) - 您只需使用值,库将负责转换
  • 用户管理 / Microsoft Exchange邮箱管理(是的,您可以使用此创建Exchange邮箱/邮件用户!)
  • 支持分页搜索
  • 支持引用 - 如果您在森林中的多个域上操作,则很有用
  • 支持TLS或SSL加密
  • 目录Schema缓存允许在尝试修改服务器上的任何内容之前进行检查、验证并提供指导
  • 对您的目录服务器进行简单的更改跟踪
  • 选择器 - 一种简单优雅的方式来检索对象

有用的功能

  • ldap v3协议支持
  • 命名空间类以防止冲突
  • 基于异常的错误处理
  • 通过Composer支持自动加载
  • 对象到JSON的转换,以便轻松与前端集成
  • 可选的简单ldap查询构建器

安装

要求

安装

通过Composer安装

这将安装最新稳定版本
composer require alaneor/ad-x:dev-master(访问Packagist获取所有可用版本的列表)

安装后(可选,但强烈推荐)

生成schema缓存

创建一个包含以下内容的全新php脚本,提供相关信息,如域和您的域凭据

    include './vendor/autoload.php'; // Include Composer's autoloader

    $link = new ADX\Core\Link( 'company.com', 389 ); // Connect to server on default port
    $link->bind( 'username@company.com', 'password' ); // Authenticate to the server
    ADX\Core\Schema::build( $link ); // Build the local schema cache ( takes some time, go get a coffee )

未来的版本将包括一个类似于向导的脚本,在安装后引导您完成此过程。

根据您的Active Directory环境的稳定性,您可能需要偶尔重新构建架构缓存,尤其是在升级到新的Active Directory功能级别或安装新的目录相关组件(如MS Exchange、OCS服务或类似组件)之后。

文档

目前仅对API提供文档,但其中包含大量示例和解释。我建议您按照以下顺序阅读文档

  • 链接:如何连接到目录并执行身份验证
  • 任务:如何搜索目录并检索数据
  • 对象:如何处理检索到的对象以及读取/操作其属性
  • 属性:如何操作单个属性以及读取/操作其值
  • 用户:如何处理用户以及管理Exchange邮箱/邮件用户

在线阅读:API文档

本地生成文档

  1. 下载库
  2. 使用Composer安装依赖项
composer install --dev
  1. 使用ApiGen(由Composer安装)生成API文档
php ./vendor/bin/apigen.php
  1. 生成的文档将可在./docs/www/index.html找到

已知限制

  • 不支持也不将支持ldap v2协议。拒绝提供向后兼容性的pull requests。
  • 该库是专门为Active Directory构建的。与基于标准的ldap服务器(如OpenLDAP)的兼容性可能会损坏。目前没有计划解决这个问题,但未来的版本可能会使其成为可能。
  • 完全缺少单元测试。我意识到这可能是未来开发的一个严重问题,并计划在未来更新中解决这个问题。任何帮助编写测试的协助都将非常感谢。

未来待办事项

  • 改进API文档
  • 提供“辅助”类以简化处理计算机、组、联系人等。
  • 编写单元测试
  • 编写教程

发现问题/有想法?

请将问题和想法提交到Github的问题跟踪器

贡献规则将在未来的更新中提供 - 目前,请在提交pull requests时尝试匹配代码中当前使用的编程风格。

许可证

本软件根据BSD (3-Clause)许可证授权。有关更多信息,请参阅LICENSE文件。

感谢

如果您喜欢这个项目并享受使用它,请随时在您愿意的地方传播相关信息。

您也可以考虑进行捐赠。

通过Flattr

Flattr this