在 ejabberd 上使用 Smack 创建新用户会抛出 XMPP 异常:禁止(403)

2023-11-27

您好,我正在研究 ejabberd,我对这项技术还很陌生。

我正在尝试使用以下代码在我的 ejabberd 服务器上添加用户:

  try {         
         conf.setSASLAuthenticationEnabled(true);               
         connection.connect();  
         Roster.setDefaultSubscriptionMode(Roster.SubscriptionMode.manual);
         Log.i("XMPPClient", "Connected to "
                                +connection.getHost());              
         createUser("tester","testerpass");   
    }   
    } catch (XMPPException e1) {
        Log.e("XMPPClient", e1.toString());
        xmppClient.setConnection(null);
    }

    public void createUser(String user, String pass) {      
            try {
                //Admin login
                connection.login(user, pass);
            } catch (XMPPException e) {
              e.printStackTrace();
            }    
Log.i("connection.isAuthenticated() : ",""+connection.isAuthenticated() );   
             if (connection.isAuthenticated()) {
              AccountManager manager = connection.getAccountManager();        
              try {  
                manager.createAccount(user, pass);
              } catch (XMPPException e) {
                Log.w("[create_user] Cannot create new user: XMPP Exception.", "0");
                e.printStackTrace();
              } catch (IllegalStateException e) {
                Log.w("[create_user] Cannot create new user: not logged in.", "0");
                e.printStackTrace();
              }
            }
          }

它与服务器和管理员登录的连接是完美的但是在创建新帐户期间 它给出了禁止的 403 错误,即:

06-15 20:01:40.092: I/XMPPClient(1300):Connected to 68.178.255.136
06-15 20:01:41.952: I/connection.isAuthenticated() :(1300): true
06-15 20:01:42.562: W/[create_user] Cannot create new user: XMPP Exception.(1300): 0
06-15 20:01:42.562: W/System.err(1300): forbidden(403)
06-15 20:01:42.562: W/System.err(1300):     at org.jivesoftware.smack.AccountManager.createAccount(AccountManager.java:246)

如果有人可以为此提出解决方法,我将非常感激。


转到 C:\Program Files (x86)\ejabberd-2.1.8\conf (在我的例子中)文件夹并使用 Notepad++ 打开 ejabberd.cfg 文件(使用它很容易编辑)。

在文件中进行以下更改:

%% Put this in the section ACCESS RULES
{access, register_from, [{allow, admin}]}.

%% Change mod_register so it contains the new access rule:

{mod_register, [
          {access_from, register_from},
           ...
                    ] ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 ejabberd 上使用 Smack 创建新用户会抛出 XMPP 异常:禁止(403) 的相关文章

  • 使用 smack 库的 GCM NoResponseException:回复超时内未收到响应

    我是 gcm 新手 我尝试使用 Smack API 连接到 GCM 的云连接服务器 XMPP 一开始还好 我的代码 uid 123456789 apiKey A B XMPPTCPConnectionConfiguration Builde
  • XMPP - 名册订阅说明

    假设我的 Jabber 服务器上有 2 个用户 Alice 和 Bob 添加到名册中并订阅为both 我需要执行以下步骤 Alice 向 Bob 发送订阅请求 当 Bob 收到请求时 他会批准该请求 Bob 可能也对 Alice 的存在感兴
  • 处理基于 Strope.js 的聊天应用程序中的状态

    是否有任何现有解决方案可以为基于 Strope js 的聊天应用程序提供在线状态处理 我有一个基于 Strope js 的简单聊天应用程序 我想仅显示在线并动态更改列表的用户 我想知道是否有任何现有的解决方案 可能是 Strope 插件 可
  • 仅使用 GCM 开发 Android 聊天应用程序(放弃 XMPP)是否合适?

    很多应用程序 例如WhatsApp依靠GCM当设备空闲或应用程序在后台运行时向设备发送通知 这GCM消息只是告诉应用程序从服务器同步 然后XMPP用于进行实际的聊天 传递有效负载 但这是一个好的决定吗 GCM发送消息 因此 就我而言 当一个
  • `ejabberdctl start` 导致“内核 pid 终止”错误 - 我该怎么办?

    我用谷歌搜索了三个小时但没有结果 我有一个 ejabberd 安装 但不是使用 apt 安装的 它是从源代码安装的 其中没有名为 ejabberd 的程序 启动和停止 一切都是通过 ejabberdctl 进行的 它完美地运行了一个月 突然
  • ejabberd MAM 不适用于 MUC

    xep 0313 适用于名册 但不适用于房间聊天 我可以获取名册的存档消息 但无法获取房间的存档消息 为什么
  • 为什么发送电子邮件需要多个邮件服务器跃点?

    当我向某人发送电子邮件时 我认为 我的电子邮件被发送到我的家庭服务器 然后电子邮件被发送到目标服务器 最后被发送到我想要发送给的人 有时 这需要多次跳跃 这是让我困惑的一点 为什么这需要多跳 为什么邮件不能直接发送到目标服务器 例如 XMP
  • ejabberd如何编译新模块

    Here http www ejabberd im node 2872我找到了代码 erlc I ejabberd 2 1 13 lib ejabberd 2 1 13 include pa ejabberd 2 1 13 lib ejab
  • Android GCM:了解 XMPP

    我正在尝试使用应用程序在我的 GCM 中实现 XMPP 协议 但即使经过广泛搜索 我也不理解其背后的概念 另外 也许我并不真的需要 XMPP 来完成我想用我的应用程序做的事情 但我喜欢学习东西 让我们以 HTTP 为例 我的应用程序将 he
  • ejabberd 和 Erlang 安装,lager_transform 未定义

    我是 Erlang 新手 我一直在尝试在 EC2 ubuntu 机器上安装 Erlang 和 ejabberd 一切都很顺利 直到我开始编译一些外部模块ejabberd 它开始抛出错误undefined parse transform la
  • XMPP 服务器的 libxml2 与 expat

    我正在尝试从头开始创建一个 XMPP 库 以及后来的服务器 Go http golang org 尽管语言本身无关紧要 作为学习 XMPP 协议和服务器软件开发一般知识的一种手段 正如许多人所知 XMPP 是基于 XML 的消息传递协议 它
  • 如何在 XMPP 中实现“上次查看时间”功能(如 Whatsapp)?

    我正在开发一个聊天应用程序 并希望添加 上次查看时间 功能 我正在尝试使用存在节来实现它 但遇到一个问题 请检查下面的链接 当用户 B 也不可用时 未获取用户 A 的不可用状态 https stackoverflow com questio
  • 多用户聊天中的 smack 存在侦听器

    多用户聊天中的smack状态监听器没有被调用 使用Smack Api登录然后添加名册 addRosterListener mRoasterListener 但当聊天室其他用户的存在发生变化时 无法成功收听 我尝试使用以下代码来使存在侦听器正
  • 如何在 Android 的这个特定用例中实现 MQTT?

    我的用例 登录到我的应用程序的用户应该能够向在另一台 Android 设备上登录到该应用程序的自己发送消息 如果用户拥有多个设备 那么一旦他打开该消息 其他设备上的通知必然会消失 Doubts 如何跨设备向特定用户发送数据 我了解如何使用
  • 在 ios 中从 XMPP 服务器检索存档的消息

    我正在将 XMPP 功能集成到我的 ios 应用程序中 但遇到了一个无法解决的问题 问题是我无法从服务器获取存档的消息 我的客户能够登录 并且我已经成功测试了多个服务调用 发送 接收消息 获取有关用户的信息 发送后
  • mod_http_upload - 使用 Ruby on Rails 上传 HTTP 文件 (XEP-0363)

    我想在我的聊天应用程序中的用户之间传输图像 我正在使用 ejabberd 服务器进行聊天 据我发现 可以做到这一点的模块是mod http upload HTTP 文件上传 XEP 0363 我不知道如何实现这一点 任何人都可以帮助我弄清楚
  • 如何使用 Smack API 通过 AccountManager 的身份验证令牌向 Google Talk 进行身份验证?

    这个问题类似于 使用 authToken 对 Google Talk XMPP Smack 进行身份验证 https stackoverflow com questions 6194899 authenticate to google ta
  • XMPP 多用户聊天设置群聊头像

    我正在开发一个带有聊天功能的 iOS 应用程序 我正在为该应用程序使用 XMPP 在XMPP多用户聊天中 是否有功能可以像我们在whatsapp中那样为会议室设置头像或群组图像 我检查过XEP 0045 http xmpp org exte
  • Android 和 XMPP:当前可用的解决方案 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 哪个 XMPP 库是当今 Android 开发的最佳选择 我一直在使用打补丁 图书馆 http dava
  • 如何使用 ejabberd 进行视频通话?

    如何使用ejabberd进行视频通话 如msn和skype ejabberd 本身不处理音频 视频 音频和视频通过 Jingle XEP 0166 进行处理 这是客户端到客户端的 如果您想发出音频或视频呼叫 您应该确保两个客户端都通过正常的

随机推荐

  • 基于Mysql json的趋势标签实现

    我正在尝试使用 mysql json 功能来识别时间序列上的趋势标签 基于最大点击量 下面是我的桌子 CREATE TABLE TAG COUNTER account varchar 36 NOT NULL time id INT NOT
  • 9 块图像作为背景的问题

    我有一个列表视图结构 具有使用的相对布局 奇数 偶数元素交替背景图像 我正在尝试设置 通过计算位置动态绘制背景 它 与普通位图一起工作得很好 但是当我尝试使用 ninepatch 图像它破坏了用户界面 所有元素都扭曲了 什么 我做错了吗 这
  • 帮助了解像素化算法背后的理论吗?

    假设我有一张想要 像素化 的图像 我想要这个由 100 x 100 方格网格表示的清晰图像 因此 如果原始照片为 500 px X 500 px 则每个正方形为 5 px X 5 px 因此 每个正方形都有一个与它交换的 5 px X 5
  • Angular ReactiveForms:生成复选框值数组?

    给定绑定到相同复选框的列表formControlName 如何生成绑定到的复选框值数组formControl 而不是简单地true false Example
  • TinyMCE 处于只读模式时启用按钮

    我有一个 TinyMCE 4 x 实例 其中文本应处于只读模式 但我仍然有一些想要启用的按钮 例如 一个按钮可以提供我选择的文本部分的字符计数 但是当我打开 TinyMCE 的只读模式时 所有按钮都被禁用 我可以只启用我的按钮 同时仍保留只
  • (半)自动生成函数的 argparsers

    tldnr 给定一个函数 有没有办法根据其签名自动创建 ArgumentParser 我有很多想要向命令行公开的函数 基本上 一个模块 def copy foo bar baz def move from to def unlink par
  • 我应该将日期时间作为长整型(刻度)存储在数据库中吗?

    通过将 DateTime 值保存为long反而 使用 null DateTime 值时似乎总是会出现问题 无论是存储还是检索 null DateTimes 无效 DateTimes 等总是令人痛苦 是否建议简单地与long数据类型 因为您始
  • Jax 向量化:vmap 和/或 numpy.vectorize?

    之间有什么区别jax numpy vectorizeand jax vmap 这是一个小片段集 import jax import jax numpy as jnp def f x return jnp exp x jnp sin x gf
  • 如何转换 CSS 显示 + 不透明度属性

    我的 CSS3 动画有问题 child opacity 0 display none webkit transition opacity 0 5s ease in out moz transition opacity 0 5s ease i
  • 如何绕过警告“右值用作左值”?

    我在用着本教程 但是当我从中编译代码时 D3DXMatrixLookAtLH matView D3DXVECTOR3 0 0f 10 0f 0 0f warning C4238 D3DXVECTOR3 0 0f 0 0f 0 0f warn
  • 如何将WPF页面添加到tabcontrol?

    I have this main wpf window 和这个 WPF 页面 我需要将此页面添加到主窗口中的选项卡控件 这是我的 OnRender 方法 protected override void OnRender DrawingCon
  • Laravel Eloquent 与 DB Facade:何时使用哪个? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我在之间做了一些性能测试Laravel DB 门面查询生成器 and Laravel 的 Eloquent ORM 对于许多 SQL 语句 SELECT UPDATE DELET
  • 如何减小产品包大小?

    我有一个简单的应用程序 初始化为angular cli 它显示了与 3 个路由相关的一些页面 我有 3 个组件 在此页面之一上我使用lodash和 Angular 2 HTTP 模块来获取一些数据 使用 RxJSObservables ma
  • 对当前使用的成员进行联盟测试

    工会是否有控制结构来测试当前正在使用哪个成员 或者是否有 我问这个问题是因为程序中存在未定义的行为从来都不是一件好事 不 现成的机制不存在 你必须自己处理这个问题 通常的方法是包装union in a struct struct MyUni
  • 如何在反应中使超链接外部?

    我是新来反应并在组件中有此链接 a href https example com faq html FAQ a 我要服务器faq html外界反应 问题是 React 将链接视为内部链接并给出 404 我见过一个相似的建议使用的问题
  • iframe 内的图像样式

    我通过设置 iframe 的 src 属性在 iframe 中有一个图像 iframe 具有固定的高度和宽度 我希望该图像的宽度填充 iframe 但其高度将与宽度保持成比例 以便用户能够向下滚动 iframe 以查看图像的其余部分 我该怎
  • matplotlib 轴上的不同精度

    我的老师说 在图表中我必须将轴标记为0 0 25 0 5 not 0 00 0 25 0 50 我知道如何标记它0 00 0 25 0 50 plt yticks np arange 1 5 1 5 25 但是 我不知道如何以不同的精度绘制
  • Delphi 中检测磁盘活动

    我正在使用Delphi 2007 我正在将文件复制到远程驱动器 复印结束后 我关闭 待机机器 可能会发生某些文件没有从缓冲区复制到磁盘的情况 并且远程磁盘断开连接 因此备份未完成 我需要检测该磁盘上的磁盘活动 以便能够正确地在计算机上执行关
  • Zend Framework 中的数据库事务:它们是隔离的吗?

    使用 Zend Framework 我需要 1 从 MySQL 数据库读取一条记录 以及 2 立即写回该记录以表明它已被读取 我不希望其他进程或查询能够在步骤 1 和 2 之间读取或写入同一记录 我正在考虑使用事务来完成这些步骤 如果我使用
  • 在 ejabberd 上使用 Smack 创建新用户会抛出 XMPP 异常:禁止(403)

    您好 我正在研究 ejabberd 我对这项技术还很陌生 我正在尝试使用以下代码在我的 ejabberd 服务器上添加用户 try conf setSASLAuthenticationEnabled true connection conn