【问题标题】:Using couchdb authentication by xmpp usersxmpp 用户使用 couchdb 身份验证
【发布时间】:2010-06-11 08:29:27
【问题描述】:

我想将 couchdb 用于通过 XMPP-Server (Openfire) 进行外部用户身份验证的 Web 应用程序。我怎样才能做到这一点?假设我们有 3 个用户:

  • basicuser@mydomain.tld
  • advanceduser@mydomain.tld
  • moreadvanceduser@mydomain.tld

现在 basicuser@mydomain.tld 应该能够阅读所有适合基本用户的文档。 advanceduser@mydomain.tld 应该能够读写所有适合基本用户的文档。 moreadvanceduser@mydomain.tld 应该能够阅读所有适合基本和高级用户的文档。

这可能吗?

【问题讨论】:

    标签: authentication couchdb xmpp openfire


    【解决方案1】:

    OpenFire's Database installation Guide 之后,只有关系数据库可以直接与 Open Fire 一起使用:

    1. MySQL
    2. 甲骨文
    3. Microsoft SQLServer
    4. PostgreSQL
    5. IBM DB2
    6. HSQLDB

    我的第一个想法是尝试将整个数据库移动到 couchdb。

    无论如何,您将需要不同的组来映射不同类型的用户。据我所知,CouchDB 中的读/写访问权限不能授予或撤销单个文档,而是数据库。因此,您最终会得到 3 个数据库,每个数据库对应一种访问级别。 我不确定通过使用身份验证级别“标记”文档来处理 CouchDB 中基于文档的身份验证是否是一个好建议。

    所以,我可以想到不同的场景:

    1. 如果您的 XMPP 服务器与数据库无关 能够通过验证凭据 网络服务,你可以利用 在您的登录过程中 沙发应用程序。
    2. 如果您的 Openfire 后备数据库有 Web 服务,您可以使用这些服务将用户与 couchdb 同步,并将它们映射到 auth lvl 组。我认为这不是一个很好的方法,因为您还必须处理更新或删除的用户,并且还要考虑安全性。当然,这也可以通过在 python 或您喜欢的任何语言上编写脚本来完成。
    3. 使用 LDAP 提供身份验证。目前不适用于 CouchDB。
    4. 也许一个好主意是 使用Z-XMPPstrophe 或 基本上任何 js 框架 以某种方式处理 XMPP?你在那里 可以了解 XMPP 身份验证,也许用它来 使用 XMPP 验证身份验证凭据。我也刚知道有一本关于"Professional XMPP Programming with JavaScript and jQuery"的书。

    现在,这些还没有提供完整的解决方案,但需要考虑和讨论。

    哦,StackOverflow 上还有另一个线程 here

    问候,克里斯

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-18
      • 2014-07-28
      • 2015-07-13
      • 1970-01-01
      • 2018-05-06
      • 2014-10-31
      相关资源
      最近更新 更多