leesherwood / ejabberd-php-auth
使用PHP进行ejabberd外部认证
1.1.0
2016-04-19 09:50 UTC
Requires
- php: >=5.5.0
- psr/log: ~1.0
This package is not auto-updated.
Last update: 2024-09-26 01:10:14 UTC
README
##Ejabberd外部认证(PHP)
此库提供了一种方便的方式来定制ejabberd认证模块extauth_program
。
安装(通过composer)
运行此命令
composer require leesherwood/ejabberd-php-auth:~1.1
或将其添加到您的composer.json文件中
"leesherwood/ejabberd-php-auth":"~1.1"
安装(其他方式)
下载一个zip文件,复制粘贴原始文件,随你喜好:
###基础知识 此库实现了一个服务和命令模式,作为ejabberd和你的自定义认证解决方案之间的接口。你所需要做的只是引导AuthenticationService(参见示例)并创建你的CommandExecutor,遵循CommandExecutorInterface协议。
###命令执行器 这是用来实现你的自定义解决方案的。你可以让它连接到数据库,查看类似于.htpasswd
的平面文件,向另一个服务发送请求,或者几乎所有你能想到的事情,这个库只是提供了基本框架。
###命令执行器集合 这是一个特殊的命令执行器,允许你注册多个命令执行器。它遵守与正常命令执行器相同的接口,所以你可以根据需要添加多层(例如,你可以向另一个集合添加整个命令集合)。
集合可以设置为两种需求。
REQUIRE_ALL
:类似于AND
,该集合中注册的所有命令都必须返回true,最终输出才为true。REQUIRE_ANY
:类似于OR
,第一个返回true的命令将被接受为最终输出。
这些可以在集合中混合使用,因此你可以有一个业务需求,即用户必须存在于3个数据库中的1个中,并且必须位于whitelist txt文件中。你会有一个设置为REQUIRE_ANY
(OR)的数据库命令集合,以及你的主要集合(在这里添加单个whitelist cmd和数据库集合),设置为REQUIRE_ALL
(AND)。