首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用smack和ejabberd进行远程花名册管理

使用smack和ejabberd进行远程花名册管理
EN

Stack Overflow用户
提问于 2014-11-11 15:52:21
回答 2查看 889关注 0票数 1

我有一个用例,在这个用例中,作为ejabberd的管理员用户,我应该能够编辑所有其他用户的花名册。我正在使用smack库通过TCP连接连接到ejabberd服务器。

阅读ejabberd14.07的文档是它在mod_roster下所说的:

可使用远程花名册管理管理用户花名册的远程实体的管理员列表(XEP-0321)。实现的协议部分为: 4.2。远程实体请求当前用户的花名册。4.3。用户更新花名册。4.4。远程实体更新用户的花名册。远程实体只能获取或修改与该实体具有相同域的花名册项目。默认值为:[]。此示例配置启用具有当前id存储的花名册版本控制。ICQ和MSN传输可以获取ICQ和MSN联系人,也可以添加或删除任何本地帐户的联系人:

我在ejabberd中进行了配置更改,并发送了以下数据包:

代码语言:javascript
复制
<iq id='PCe38-23' to='%2B918130143322@XXX.XXX.XXX/Smack' type='set'>
          <query xmlns='jabber:iq:roster'>
            <item jid='%2B918130143331@XXX.XXX.XXX/Smack'
                  name='Siddharth Banerjee'
                  subscription='both'>
            </item>
          </query>
            </iq>

<iq id='PCe38-24' to='%2B918130143331@XXX.XXX.XXX/Smack' type='set'>
          <query xmlns='jabber:iq:roster'>
            <item jid='%2B918130143322@XXX.XXX.XXX/Smack'
                  name='deco'
                  subscription='both'>
            </item>
          </query>
            </iq>

但我得到了以下信息:

代码语言:javascript
复制
<iq from='%2B918130143322@XXX.XXX.XXX/Smack' to='admin1@XXX.XXX.XXX/75250b26-a52a-4e1d-a5fb-4b263cd2f451' type='error' id='PCe38-23'>
          <query xmlns='jabber:iq:roster'>
            <item jid='%2B918130143331@XXX.XXX.XXX/Smack' name='Siddharth Banerjee' subscription='both'>
            </item>
          </query>
            <error code='503' type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>

如何使用smack修改其他用户的花名册?

请给我建议。

EN

回答 2

Stack Overflow用户

发布于 2014-12-01 00:44:44

我想你误解了XEP-0321的用途。它主要是允许网关操作用户花名册的相关部分。例如,在服务器上运行的ICQ的网关可以仅为该子集操作用户的花名册条目(授权后)(即@icq.domain.net花名册条目,而不是@domain.net)。

这不是操作整个用户花名册的通用规范。

根据我在你的帖子中看到的,你总是使用相同的域名,所以我猜你是在试图从另一个用户那里获得访问和操纵用户名单。根据XEP-0321,它不能工作。

票数 0
EN

Stack Overflow用户

发布于 2015-02-14 22:11:56

https://blog.process-one.net/roster_versioning_support_for_ejabberd/

此示例配置启用具有当前id存储的花名册版本控制。ICQ和MSN传输可以获取ICQ和MSN联系人,也可以添加或删除任何本地帐户的联系人:

代码语言:javascript
复制
modules:
  ...
  mod_roster:
    versioning: true
    store_current_id: true
    managers:
     - "icq.example.org"
     - "msn.example.org"
  ...

在此示例配置中,只有管理员可以管理他们的花名册;其他所有人都不能修改花名册:

acl: admin: user:- "sarah":"example.org“访问权限:花名册: admin: allow

模块:...mod_roster:访问:花名册

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26860069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档