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 = [
[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 = [NSXMLElement
[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密碼修改成功!");
}
returnYES;
}
個人總結:XMPP框架不是萬能的,但XML流是萬能的,當XMPP無法滿足你的需求時,用XML可以輕鬆搞定!
相關推薦
XMPP(伺服器Openfire)框架下,修改使用者密碼
1.先按照協議0077中修改密碼的XML修改自己的 { /* <iq type='set' to='shakespeare.lit' id='change1'> <query xmlns='jabber:iq:regis
Linux下修改Mysql密碼的三種方式,測試過效果,能正常使用
密碼 root mysq cat 服務 方法 方式 運行 mysql密碼 個人分類: mysql修改密碼linux修改mysql密碼軟件編程 有時我們會忘記Mysql的密碼,或者想改一個密碼,以下將對這兩種情況修改密碼的三種解決方法做個總結 本文都以用戶為 root 為例;
Windows下修改Redis密碼
1、在Redis安裝資料夾下面,例如D:\Redis-x64-3.2.100\,開啟redis.windows.conf檔案, 找到# requirepass foobared行, 去掉#號,改為requirepass 123456, 即將密碼改為123456。 2、在Redis安
Windows下修改MySQL密碼
1、在以下資料夾下面C:\Program Files\MySQL\MySQL Server 5.7\bin>mysql以管理員身份開啟CMD命令視窗; 2、輸入mysql -u root -p; 3、輸入set password for [email protected
windows 下修改mysql密碼
Mysql 版本: 5.1,暫時還沒有測試其他的版本是否有用 1、 首先檢查mysql服務是否啟動,若已啟動則先將其停止服務,可在開始選單的執行,使用命令: net stop mysql 開啟第一個cmd
Qt MVD框架下修改檢視中資料項/標題的背景顏色說明(Qt 5.10.1)
在不利用QSS的情況下,如果想修改MVD中檢視的某個資料項的背景顏色,則可以: QVariant YourModel::data(const QModelIndex &index, int role) con
Linux下修改MySQL密碼(只需5步)
針對忘記root密碼方式: 1、編輯/etc/my.cnf檔案 vi /etc/my.cnf 2、在[mysqld]下面新增一條命令:skip-grant-tables 3、輸入:wq!(儲存修改並退出) 4、開始修改root密碼 4.1 進入MySql控制
Linux 下修改資料庫密碼
修改的使用者都以root為列。一、擁有原來的myql的root的密碼;方法一:在mysql系統外,使用mysqladmin# mysqladmin -u root -p password "test123"Enter password: 【輸入原來的密碼】方法二:通過登入mysql系統,# mysql -u
Linux系統在未登入的情況下修改root密碼方法(linux系統忘記root密碼,進不去系統怎麼辦)
linux系統忘記root密碼,進不去系統怎麼辦 有時候我們會遇到這樣的情況,很久沒用的系統, 想要登入時卻發現忘記了root密碼,那該怎麼辦?一般來說我們可以進入單使用者或者通過編輯grub選單來修改root密碼。 對於一些版本的OS(如redhat)來說,編輯grub,
CentOS下修改MySQL密碼
1.修改MySQL的登入設定: vim /etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables 2.重新啟動mysql service mysql re
Android基於XMPP Smack Openfire下學習開發IM(一)實現使用者註冊、登入、修改密碼和登出等
以前學習過用Scoket 建立聊天,簡單的建立聊天是沒問題的,但如果要實現多人複雜的聊天,後臺伺服器程式碼就比較複雜,對於我這新手來講就比較難了。後來在網上看到用openfire做伺服器,利用強大的Smack API庫來實現IM聊天就簡單多了。 網上也有很多關於這方面的資
MAC下修改XAMPP裡MySQL伺服器的密碼
一:MySQL伺服器連結NaviCat時,需要輸入MySQL的密碼,這個時候可能就會遺忘掉,修改的話可以在終端進行指令修改 1:啟動Apache和Mysql服務 2:在終端輸入 sudo /App
Openfire 伺服器搭建問題記錄(重新配置以及修改管理員密碼)
1.配置Openfire完成後,修改Openfire安裝目錄下的Openfire\conf\openfire.xml檔案中的setup標籤修改為false,然後重啟openfire(stop –>start–>Lanunch Admin),可以重新配
mac下修改mysql的密碼
行修改 登錄管理 登錄mysql grant mysql base ref 管理員權限 mac 第一種 mysql版本:5.7.17 1.首先我們要關閉mysql服務 sudo /usr/local/mysql/support-files/mysql.server stop
【修改密碼】Linux下修改Mysql的用戶(root)的密碼
exit 用戶 mysql use 操作 -- 原來 都沒有 註意 修改的用戶都以root為列。一、擁有原來的myql的root的密碼;方法一:在mysql系統外,使用mysqladmin# mysqladmin -u root -p password "test123"E
sqlserver修改sa密碼(在windows登陸沒有權限的情況下)
can use blog alter stop admin 成功 使用命令 with 對於windows用戶沒有權限執行alter login sa enable的情況下,采用如下方法可以成功修改sa密碼登陸。 1. 用Run as a administrato
centos下修改mysql的root密碼
acc leg oca art 密碼 sql安裝 令行 sta sudo mysql安裝後,mysql命令行登錄mysql提示如下錯誤: Access denied for user ‘root‘@‘localhost‘ (using password:YES) 可能的原因
Centos7.3下mysql5.7.18安裝並修改初始密碼的方法
ice version 分享 form for 榮耀 serve 密碼 doc 1、官方安裝文檔 http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 2、下載 Mysql yum包 http://dev.mysql
Linux下修改mysql的root密碼
下面是具體步驟 一、知道原來的myql資料庫的root密碼; 1、 在終端命令列輸入 mysqladmin -u root -p password "新密碼" 回車 ,Enter password: 【輸入原來的舊密碼】 2、 登入mysql系統
linux下rpm方式安裝mysql--修改root密碼--設置mysql大小寫敏感
mce password rom sta linux服務器 目錄 查詢 lec 連接 一,軟件準備 MySQL-client-5.6.26-1.linux_glibc2.5.x86_64.rpm+MySQL-server-5.6.26-1.linux_glibc2.5.