alaneor / ad-x
此包已被弃用,不再维护。未建议替代包。
针对php的极强Active Directory接口
0.3.4
2016-06-06 08:59 UTC
Requires
- php: >=5.4.0
- ext-json: *
- ext-ldap: *
- rhumsaa/uuid: ~2.4
Requires (Dev)
- apigen/apigen: ~2.8.0
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中使用值之前无需将其转换为其他类型(例如
unicodePwd
或lastLogonTimestamp
) - 您只需使用值,库将负责转换 - 用户管理 / 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文档
本地生成文档
- 下载库
- 使用Composer安装依赖项
composer install --dev
- 使用ApiGen(由Composer安装)生成API文档
php ./vendor/bin/apigen.php
- 生成的文档将可在./docs/www/index.html找到
已知限制
- 不支持也不将支持ldap v2协议。拒绝提供向后兼容性的pull requests。
- 该库是专门为Active Directory构建的。与基于标准的ldap服务器(如OpenLDAP)的兼容性可能会损坏。目前没有计划解决这个问题,但未来的版本可能会使其成为可能。
- 完全缺少单元测试。我意识到这可能是未来开发的一个严重问题,并计划在未来更新中解决这个问题。任何帮助编写测试的协助都将非常感谢。
未来待办事项
- 改进API文档
- 提供“辅助”类以简化处理计算机、组、联系人等。
- 编写单元测试
- 编写教程
发现问题/有想法?
请将问题和想法提交到Github的问题跟踪器。
贡献规则将在未来的更新中提供 - 目前,请在提交pull requests时尝试匹配代码中当前使用的编程风格。
许可证
本软件根据BSD (3-Clause)许可证授权。有关更多信息,请参阅LICENSE文件。
感谢
如果您喜欢这个项目并享受使用它,请随时在您愿意的地方传播相关信息。
您也可以考虑进行捐赠。