转-XMPP(服务器Openfire)框架下,修改用户密码

1.先按照协议0077中修改密码的XML修改自己的

{

/*

<iq type=‘set‘ to=‘shakespeare.lit‘ id=‘change1‘>

<query xmlns=‘jabber:iq:register‘>

<username>bill</username>

<password>newpass</password>

</query>

</iq>

*/

NSXMLElement *iq = [NSXMLElementelementWithName:@"iq"];

[iq addAttributeWithName:@"type"stringValue:@"set"];

[iq addAttributeWithName:@"to"stringValue:@"ubuntu-dev"];

[iq addAttributeWithName:@"id"stringValue:CHANG_PWD_id];  //#define CHANG_PWD_id @"change1"确定id唯一就行

NSXMLElement *queryElement = [NSXMLElementelementWithName:@"query"xmlns:@"jabber:iq:register"];

[iq addChild:queryElement];

NSString *userNameStr = [[NSUserDefaultsstandardUserDefaults]objectForKey:@"userName"];

NSXMLElement *username = [NSXMLElementelementWithName:@"username"];

[username setStringValue:userNameStr];

NSXMLElement *password = [NSXMLElementelementWithName:@"password"];

NSLog(@"self.tfNewPWDSure.text_______:%@",self.tfNewPWDSure.text);

[password setStringValue:self.tfNewPWDSure.text];

[queryElement addChild:username];

[queryElement addChild:password];

//        NSLog(@"iq__%@",iq.description);//打印下XML流检查是否拼接正确

[[XMPPServiceshareInstance].xmppStreamsendElement:iq];//发送{XMPPStream被我封装进单例类XMPPService里}

[[XMPPServiceshareInstance].xmppStreamaddDelegate:selfdelegateQueue:dispatch_get_main_queue()];//设置代理

}

#pragma make - xmppStream

- (BOOL)xmppStream:(XMPPStream *)sender didReceiveIQ:(XMPPIQ *)iq{

NSLog(@"__%@",iq.description);

/*

<iq xmlns="jabber:client" type="result" id="change1" from="ubuntu-dev" to="[email protected]/870efdcd"></iq>

*/

NSString *iqTypePWD = [[iq attributeForName:@"type"]stringValue];

NSString *iqIDPWD = [[iqattributeForName:@"id"]stringValue];

NSLog(@"iqTypePWD:%@___iqTypePWD:%@",iqTypePWD,iqIDPWD);

if ([iqTypePWD isEqualToString:@"result"]&&[iqIDPWDisEqualToString:CHANG_PWD_id]) {   //进行判断只有type="result" id="change1"时,密码修改成功

NSLog(@"OpenFire密码修改成功!");

}

return YES;

}

个人总结:XMPP框架不是万能的,但XML流是万能的,当XMPP无法满足你的需求时,用XML可以轻松搞定!

原文:http://blog.csdn.net/shang1219178163/article/details/22207283

时间: 2024-10-12 19:43:44

转-XMPP(服务器Openfire)框架下,修改用户密码的相关文章

Oracle dba权限下修改用户密码 授予用户权限 解锁用户

1.修改用户密码 alter user scott identified by 123 2.授予用户权限 grant connect,resource to scott 3.解锁用户 alter user scott account unlock

[添加用户]解决useradd 用户后没有添加用户Home目录的情况,Linux改变文件或目录的访问权限命令,linux修改用户密码,usermod的ysuum安装包。飞

usermod的yum安装包: shadow-utils 将nobody用户添加到nogroup 组: usermod -g nogroup nobody cat /etc/passwd|grep nobody nobody:x:65534:65534:nobody:/var/lib/nobody:/bin/bash 第3个字段是65534:意思就是,UID(用户的ID)是500. 第4个字段是65534:意思就是.GID(用户的组ID)的500. 使用usermod -g nogroup no

[转] 关于linux下通过shell命令(自动)修改用户密码

关于linux下通过shell命令(自动)修改用户密码 2012-04-23 18:47:39 分类: 原文地址:关于linux下(自动)修改用户密码 作者:ubuntuer 本文章总结了如何手动.自动修改本地用户密码及远程机器的用户密码.对做自动化测试提供了自动修改用户密码的原理及方法. 修改本地用户密码:1.交互配置本地用户:以root用户: passwd <username>Changing password for user dewang.New UNIX password: BAD

不修改用户密码的前提下,解锁用户

不修改用户密码的前提下,解锁用户 1.0需求:某用户通知,无法登陆,用户被锁定,但是密码不知道 或者 不告诉你 1.1:用户被锁定:几种可能性 A用户使用默认Pfile概要文件,其中参数: -- PASSWORD_LIFE_TIME 180          密码有效保留时间 B用户使用默认Pfile概要文件,其中参数: -- FAILED_LOGIN_ATTEMPTS 10        登录失败后,允许尝试登录的次数 -- PASSWORD_LOCK_TIME   1      登录失败后,

linux下批量修改用户密码

对系统定期修改密码是一个很重要的安全常识,通常,我们修改用户密码都使用 passwd user 这样的命令来修改密码,但是这样会进入交互模式,即使使用脚本也不能很方便的批量修改,除非使用expect 这样的软件来实现,难道修改一下密码还需要单独安装一个软件包吗? 不,我们其实还有其他很多方法可以让我们避开交互的,下面具体写一下具体的实现方式: 第一种:echo "123456" | passwd --stdin root echo doiido:helloboy |chpasswd 优

linux下passwd命令设置修改用户密码

1.passwd 简单说明: 我们已经学会如何添加用户了,所以我们还要学习设置或修改用户的密码:passwd命令的用法也很多,我们只选如下的几个参数加以说明:想了解更多,请参考man passwd或passwd --help : passwd [OPTION...] passwd 作为普通用户和超级权限用户都可以运行,但作为普通用户只能更改自己的用户密码,但前提是没有被root用户锁定:如果root用户运行passwd ,可以设置或修改任何用户的密码: passwd 命令后面不接任何参数或用户名

linux下passwd命令设置修改用户密码 - Alanf - 博客园

passwd 简单说明: passwd命令的用法也很多,我们只选如下的几个参数加以说明:想了解更多,请参考man passwd或passwd --help : passwd [OPTION...] passwd 作为普通用户和超级权限用户都可以运行, 但作为普通用户只能更改自己的用户密码,但前提是没有被root用户锁定: 如果root用户运行passwd ,可以设置或修改任何用户的密码: passwd 命令后面不接任何参数或用户名,则表示修改当前用户的密码: 例子: [[email protec

MySQL 修改用户密码及重置root密码

为数据库用户修改密码是DBA比较常见的工作之一.对于MySQL用户账户的密码修改,有几种不同的方式,推荐的方式使用加密函数来修改密码.本文主要描述了通过几种不同的方式来修改用户密码以及mysql root账户密码丢失(重置root密码)的处理方法. 1.密码修改的几种方法 a.可以在创建用户的时候指定密码,以及直接使用grant创建用户的时候指定密码. 对于已经存在的用户直接使用grant方式也可以修改密码 如下: --演示版本 [email protected][(none)]> show v

mysql 修改用户密码

修改mysql用户密码 目录 mysqladmin命令 UPDATE user 语句 SET PASSWORD 语句 root密码丢失的情况(待验证) mysqladmin命令(回目录) 格式如下(其中,USER为用户名,PASSWORD为新密码): mysqladmin -u USER -p password PASSWORD 该命令之后会提示输入原密码,输入正确后即可修改.例如,设置root用户的密码为123456,则 mysqladmin -u root -p password 12345