使用Jabber Net更改密码

时间:2010-10-17 09:41:30

标签: .net xmpp

我想知道是否可以使用Jabber Net修改用户密码。如果是这样,是否有一种简洁的方法可以在将旧密码修改为新密码之前先验证旧密码是否确实有效?

1 个答案:

答案 0 :(得分:0)

您需要先登录。这将确保旧密码正确。然后,使用Register命令。有关类似代码,请参阅示例(MainForm.cs),但重要的位是:

jc.OnRegisterInfo += new jabber.client.RegisterInfoHandler(jc_OnRegisterInfo);
jc.OnRegistered += new jabber.client.IQHandler(jc_OnRegistered);

jc.Password = "New Password";
jc.Register(new JID(jc.User, jc.Server, null));

// Called back when server sends registration form
private bool jc_OnRegisterInfo(object sender, Register r)
{
    if (r.Form == null)
        return true;

    // Some newer servers may use XData for registration
    muzzle.XDataForm f = new muzzle.XDataForm(r.Form);
    if (f.ShowDialog() != DialogResult.OK)
        return false;
    f.FillInResponse(r.Form);
    return true;
}

// Done setting password
private void jc_OnRegistered(object sender, IQ iq)
{
}