【翻译】eJabberd 外部脚本的使用

外部脚本

在这个认证模块中,当ejabberd启动,它将启动一个脚本去调用它的认证任务.

服务管理员可以使用任何的变成语言去编写外部脚本,ejabberd与脚本之间的接口详情的描述在ejabberd开发指南中. 这里也有一些认证脚本的实例. 链接:https://www.ejabberd.im/extauth

这里是一些特殊的选项:

extauth_program:PathToScript

这个选项表示外部脚本的全路径. 脚本必须是ejabberd能够执行的.

extauth_instances:Integer

表示在虚拟主机中同时运行认证请求的脚本实例的数量,默认值最小为1.

extauth_cache:false|CacheTime Integer

默认值为false 禁用缓存功能, 值为0开启统计缓存,但是不能使用它缓存的信息去认证用户,如果设置其它值,则开启统计和认证两个: CacheTimeInteger 表示的秒数ejabberd可以重用认证信息,由于用户已经断开连接,去重新验证用户,不用重新去查询外部认证脚本.

注意:在一个主机如果内部认证被启动缓存则不应该启用. 如果缓存已启用, mod_last 必须也要在它的vhost中启用.

实例

这个外部认证的设置了,外部脚本, 开启缓存为10分钟, 还有在ejabberd中为每个虚拟主机声明了3个脚本实例.

auth_method: [external]

extauth_program: "/etc/ejabberd/JabberAuth.class.php"

extauth_cache: 600

extauth_instances: 3

按照官方实例配置后的确完成了外部鉴权的配置工作,我们所需要做的就是编写外部脚本。

时间: 2024-12-21 20:07:08

【翻译】eJabberd 外部脚本的使用的相关文章

python模拟鼠标键盘操作 GhostMouse tinytask 调用外部脚本或程序 autopy右键另存为

1.参考 autopy (实践见最后一章节) 用Python制作游戏外挂(上) AutoPy Introduction and Tutorial autopy.mouse.smooth_move(1, 1) 可以实现平滑移动 autopy - API Reference pip install PyUserInput SavinaRoja/PyUserInput [python3.5][PyUserInput]模拟鼠标和键盘模拟 Python-模拟鼠标键盘动作 autoit selenium借助

defer属性---->执行外部脚本

HTML4---->只有IE支持 不需要是外部脚本. HTML5---->主流都支持 defer 属性仅适用于外部脚本(只有在使用 src 属性时) 值 描述 defer 规定当页面已完成加载后执行脚本.

Lua脚本怎么样调用外部脚本?

在游戏脚本开发中,我们往往会发现脚本量非常大,而且我们经常会在一下核心脚本文件中定义一些常用的功能函数,但是Lua脚本没有提供include关键词,那又是怎样调用外部函数的呢?如何实现脚本的Include功能? test.lua脚本定义main函数如下: function main(szName, num1, num2)     print("main()", szName, num1, num2);     local nRandMax = 10000;     local nRan

Zabbix调用外部脚本发送邮件:python编写脚本

Zabbix调用外部脚本发送邮件的时候,会在命令行传入两个参数,第一个参数就是要发送给哪个邮箱地址,第二个参数就是邮件信息,为了保证可以传入多个参数,所以假设有多个参数传入 #!/usr/bin/env python #encoding:utf8 # # Zabbix Server 发送邮件脚本 # from email import encoders from email.header import Header from email.mime.text import MIMEText fro

redis翻译_redis lua脚本

Available since 2.6.0.  加入版本2.6 Time complexity: Depends on the script that is executed. 时间复杂度: 取决于脚本的执行 出处:http://blog.csdn.net/column/details/redisbanli.html Introduction to EVAL  介绍EVAL EVAL and EVALSHA are used to evaluate scripts using the Lua i

通过js引用外部脚本(方便直接在浏览器上调试抓取代码)

最近折腾爬虫,后端使用jQuery进行数据采集,一般都是先从浏览器中将采集代码调试好后直接放到后端跑了. 有些网址没有引用jQuery,那调试起来就不方便了,可以用以下代码动态添加script标签,将jQuery引用到页面中. var scriptBlock = document.createElement('script');   scriptBlock.src = 'http://code.jquery.com/jquery-1.11.1.js';   document.getElement

Ejabberd源码解析前奏--配置

一.基本配置     配置文件将在你第一次启动ejabberd时加载,从该文件中获得的内容将被解析并存储到内部的ejabberd数据库中,以后的配置将从数据库加载,并且任何配置文件里的命令都会被添加到数据库里. 需要注意的是:ejabberd从不编辑配置文件,因此,使用Web管理修改的配置被存储在数据库中, 而不是反射到配置文件.如果你想那些修改在ejabberd重启后还有效,你可以同时也修改配置文件或删除它的所有内容. 配置文件包含一系列Erlang条款.以‘%’标志开始的行被忽略.每个条款是

Gradle 1.12 翻译——第十四章. 教程 - 杂七杂八

有关其他已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或访问:http://gradledoc.qiniudn.com/1.12/userguide/userguide.html 本文原创,转载请注明出处:http://blog.csdn.net/maosidiaoxian/article/details/41006627 关于我对Gradle的翻译,以Github上的项目及http://gradledoc.qin

Ejabberd源码解析前奏--安全

一.防火墙设置    当你配置防火墙的时候,你需要注意以下 TCP 端口: 端口 描述 5222 用于 Jabber/XMPP 客户端连接的标准端口, 纯文本或 STARTTLS. 5223 Jabber 客户端使用旧的 SSL 方法连接的标准端口 . 5269 用于 Jabber/XMPP 服务器连接的标准端口. 4369 EPMD  监听Erlang节点名请求. 端口范围 用于两个Erlang节点之间的连接. 这个范围是可配置的(参见第二部分即epmd). 二.epmdepmd (Erlan