遵循OpenFire 的数据库安装指南,只有关系数据库直接与 Open Fire 一起工作:
- MySQL
- 甲骨文
- 微软SQL服务器
- PostgreSQL
- IBM DB2
- 数据库
我的第一个想法是尝试将整个数据库移动到 couchdb。
无论如何,您将需要不同的组来映射不同类型的用户。据我所知,CouchDB 中的读/写访问权限不能授予或撤销单个文档,而是数据库。因此,您最终会得到 3 个数据库,每个数据库对应一种访问级别。我不确定通过使用身份验证级别“标记”文档来处理 CouchDB 中基于文档的身份验证是否是一个好建议。
所以,我可以想到不同的场景:
- 如果您的 XMPP 服务器或数据库能够通过 web 服务验证凭据,您可以在 couchapp 的登录过程中使用它。
- 如果您的 Openfire 后备数据库有 Web 服务,您可以使用它们将用户与 couchdb 同步并将它们映射到 auth lvl 组。我认为这不是一个很好的方法,因为您还必须处理更新或删除的用户,并且还要考虑安全性。当然,这也可以通过在 python 或您喜欢的任何语言上编写脚本来完成。
- 使用 LDAP 提供身份验证。目前不适用于 CouchDB。
- 也许一个好主意是使用Z-XMPP、strophe或基本上任何以某种方式处理 XMPP 的 js 框架?在那里您可以了解 XMPP 身份验证,并可能使用它来验证 XMPP 的身份验证凭据。我还刚刚了解到有一本书是关于“Professional XMPP Programming with JavaScript and jQuery”的。
现在,这些都没有提供完整的解决方案,而是需要思考和讨论的东西。
哦, StackOverflow上还有另一个线程。
问候,克里斯