2016-09-23 2 views
1

ist, dass jede mögliche Art und Weise Benutzer-Passwort in ejabberd zu ändern habe ich versucht, unter Verwendung von XML, aber seine Arbeit nicht für michPasswort in ejabberd ändern PHP-Skript

Versucht:

<iq type='set' id='fabiang_xmpp_57e51e6c39d4d' from='[email protected]'> 
    <query xmlns='jabber:iq:register'> 
    <username>test</username> 
    <password>newpass</password> 
</query> 
</iq> 

Ergebnis:

{xmlcdata,<<"User already exists">>} 

Versuchte:

<iq type='set' id='fabiang_xmpp_57e51e6c39d4d'> 
     <query xmlns='jabber:iq:register:changepassword'> 
     <old_password>test</old_password> 
     <username>87906</username> 
     <password>google</password> 
     </query> 
</iq> 

Ergebnis:

{xmlcdata,<<"No module is handling this query">>} 

FYI: Fehler/Ergebnis i von ejabberd.log fangen

Irgendwelche Gedanken Alle

hilft

Vielen Dank im Voraus

Antwort

0

Ihre erste Strophe ist in Ordnung, außer dass Sie versuchen, das Passwort eines anderen Benutzers zu ändern (Sie sind als admin angemeldet und ändern das Passwort für test). Ich würde nicht erwarten, dass das funktioniert.

Dies sollte funktionieren:

<iq type='set' id='fabiang_xmpp_57e51e6c39d4d' from='[email protected]'> 
    <query xmlns='jabber:iq:register'> 
    <username>admin</username> 
    <password>newpass</password> 
</query> 
</iq> 
+0

Danke für Ihre Antwort, Ihre Lösung wird wie sein werfen Fehler nicht funktioniert: get_entity_affiliations –

0

Für PHP, können Sie versuchen, diese

public function changePassword($user, $host, $new_password) 
{ 
    @exec('sudo ejabberdctl change-password '.$user.' '.$host.' '.$new_password.' 2>&1', $output, $status); 
    return $output;  
} 
+0

Danke für Ihre Antwort, aber Ich suche nicht nach dem Befehl Ich brauche eine Lösung, in der ich es über andere Wege tun kann –