2016-06-27 2 views
2

Привет, я установил ejabberd 16.04.43 на свой сервер и его запуск по мере необходимости.Как заблокировать конкретный jabber_id для определенного человека в ejabberd?

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

Позвольте мне рассмотреть несколько пользователей:

kandan 
cash 
mani 
kumar 
lokesh 

Каждый из них имеет особый JABBER идентификатор в ejabberd и они взаимодействуют друг с другой с помощью команды

add rosteritem 

Теперь то, что мне нужно это,

**kandan blocks cash** such that any further message from kandan to cash or from cash to kandan should not deliver each other , so can anyone tell me how to implement? 

Я установил с mod_block, но нет, где рядом ответить, что я ожидал .. !!!

+0

Вы можете использовать privacy_list для блокировки пользователей. –

+0

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

+0

Проверьте мой ответ. Замените пример содержимого вашим фактическим контентом. –

ответ

5

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

Пример:

<iq from='[email protected]/orchard' type='set' id='msg1'> 
<query xmlns='jabber:iq:privacy'> 
    <list name='message-jid-example'> 
    <item type='jid' 
      value='[email protected]' 
      action='deny' 
      order='3'> 
     <message/> 
    </item> 
    </list> 
</query> 
</iq> 

documentation.

+0

Как назвать это с помощью модного отдыха? –

+0

Это должно быть реализовано с клиентской стороны. Итак, скажем, если A хочет заблокировать B, тогда он должен отправить от A до B. Но если вы все еще хотите использовать его из бэкэнд, тогда вы можете использовать метод send_stanza из mod_admin_extra. –

+0

Не могли бы вы отправить мне синтаксис, пожалуйста? ejabberdctl send_stanza kandan localhost –

3

Для административной стороны вы можете отправить строфу с помощью команды send_stanza_c2s.

Синтаксис

ejabberdctl send_stanza_c2s Имя пользователя Хост ResourceId Станца

блок строфа:

<iq type='set' id='block123' from='[email protected]'> 
    <block xmlns='urn:xmpp:blocking'> 
     <item jid='[email protected]'> 
     </item> 
    </block> 
</iq> 

Пример

ejabberdctl send_stanza_c2s user1 abc.com 69890942764773790857148098 "<iq type='set' id='block' from='[email protected]'><block xmlns='urn:xmpp:blocking'><item jid='[email protected]'></item></block></iq>" 
+0

Большое спасибо, но как мы получим идентификатор ресурса. мы не можем обойтись без идентификатора ресурса. –

+0

Да, идентификатор ресурса должен следовать следующей команде, вы можете получить идентификатор ресурса ejabberdctl user_resources Имя пользователя Host –