Ejabberd:如何限制获取 jabber 用户目录(JUD)

Posted

技术标签:

【中文标题】Ejabberd:如何限制获取 jabber 用户目录(JUD)【英文标题】:Ejabberd: How to limit the fetching of jabber user directory (JUD) 【发布时间】:2014-12-25 10:18:27 【问题描述】:

我正在使用 (a)Smack 为移动 (android) 开发客户端 jabberd 应用程序。

由于在我的应用程序中,用户是通过他们的电话号码注册的,所以应用程序应该能够识别哪个联系人在服务器上拥有 jabber 帐户并建议他/她聊天。

在网上搜索后,我发现有一个 jabber 用户目录 (JUD),我可以使用它来检查是否有特定手机号码的帐户。 (我正在使用 UserSearchManager)。

我的问题:

1- JUD 中似乎没有关于尚未更新 vCard 的用户的记录,所以我找不到他。有没有办法检查这类用户的存在?

2- 似乎通过使用JUD,我的应用程序之外的每个人都可以获取用户的一些重要信息,例如手机号码、电子邮件等。有什么解决方案可以限制JUD 搜索引擎? (例如,仅获取“用户字段”作为输入,仅返回现有帐户的“全名字段”或其他有用的限制)。

因此通过这种方式,我可以识别联系人列表中的哪个人在服务器上拥有帐户,并且其他人无法获取现有用户的重要信息。

感谢任何命令或建议。谢谢。

【问题讨论】:

没人知道答案吗? 【参考方案1】:

如果不自定义 ejabberd 应用程序代码,我认为默认情况下是不可能的。

【讨论】:

以上是关于Ejabberd:如何限制获取 jabber 用户目录(JUD)的主要内容,如果未能解决你的问题,请参考以下文章

允许 ejabberd_service(Jabber 组件协议)修改用户名册

无法让 jabber 客户端连接到在 localhost 上运行的 ejabberd

如何了解更多 XMPP/Jabber 命令

如何使用 XMPPFramework 从 ejabberd 中删除两个用户之间的特定消息?

如何使用 C# 在 XMPP 服务器中使用 jabber net 创建新用户?

Ejabberd 的名册管理