2016-06-27 10 views
2

Hallo ich hatte ejabberd 16.04.43 in meinem Server installiert und es läuft so wie ich brauchte.Wie blockiere ich eine bestimmte jabber_id für eine bestimmte Person in Ejabberd?

Jetzt habe ich neue Anforderung eine bestimmte Person zu einem bestimmten Benutzer zu sperren

Lassen Sie mich einige Benutzer betrachten:

kandan 
cash 
mani 
kumar 
lokesh 

Jeder von ihnen hat eine besondere Jabber-ID in ejabberd und sie interagieren mit jedem andere mit dem Befehl

add rosteritem 

Jetzt mit, was ich brauche, ist,

**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? 

ich installiert mit mod_block, aber bin nicht wo in der Nähe zu beantworten, was ich erwartet .. !!!

+0

Sie können privacy_list verwenden, um Benutzer zu blockieren. –

+0

könntest du mich bitte begleiten, da ich gerade ein neugeborenes Kind zum Ejabberd bin. –

+0

Überprüfen Sie meine Antwort. Ersetzen Sie den Beispielinhalt durch Ihren tatsächlichen Inhalt. –

Antwort

5

Sie müssen Benutzer zu einer Datenschutzliste hinzufügen mit Aktion deny. Und später, wenn Sie die Blockierung aufheben möchten, dann setzen Sie die Aktion auf erlauben.

Beispiel:

<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

Wie nennt man das mit mod restful? –

+0

Dies muss von der Client-Seite implementiert werden. Also, sagen, wenn A B blockieren will, dann sollte es von A nach B senden. Aber wenn Sie es immer noch aus dem Backend verwenden möchten, dann können Sie send_stanza-Methode von mod_admin_extra verwenden. –

+0

Könnten Sie mir bitte die Syntax schicken? ejabberdctl send_stanza Kandan localhost –

3

Für die Admin-Seite können Sie die Zeilengruppe senden mit send_stanza_c2s Befehl.

Syntax

ejabberdctl send_stanza_c2s Benutzername Host ResourceID Stanze

Block Stanze:

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

Beispiel

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

Vielen Dank Kommentar, aber wie erhalten wir Ressource ID. können wir nicht ohne Ressource ID tun. –

+0

Ja, die Ressourcen-ID muss dem folgenden Befehl folgen. Sie können die Ressourcen-ID ejabberdctl user_resources Benutzername Host abrufen –

Verwandte Themen