Как предоставить права администратора любому пользователю?

Я пытаюсь отправить этот IQ...

<iq to="localhost" type="get">
        <query xmlns='http://jabber.org/protocol/disco#items' node="all users"/>
</iq>

... чтобы иметь возможность получить всех пользователей с сервера, но я могу получить ответ, только если отправитель является администратором.

Если это обычный пользователь, я получаю сообщение об ошибке "Отказано в ACL"

Как я могу получить ответ от сервера любому пользователю на сервере.

Я также пытался заставить администратора быть кем-то в ejabberd.yml, но не смог этого добиться.

Есть ли способ сделать это? Благодарю.

2 ответа

Вы можете установить в файле конфигурации ejabberd.yml, как это-

acl:
  ##
  ## The 'admin' ACL grants administrative privileges to XMPP accounts.
  ## You can put here as many accounts as you want.
  ##
  admin:
    user:
      - "admin": "localhost"   
      - "user1": "localhost"
      - "user2": "localhost"

  ##

Метод 1: Изменить ACL и добавить набор пользователей в список.

acl:
  admin:
    user:
     - "admin": "localhost"

Метод 2: Изменить правила доступа, чтобы предоставить доступ всем пользователям.

access:
    configure:
        admin: allow
        all: allow

Примечание: я бы не рекомендовал method2 для использования в производстве.

Другие вопросы по тегам