天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

簡單分析ucenter 會員同步登錄通信原理

1、用戶登錄discuz,通過logging.php文件中的函數uc_user_login對post過來的數據進行驗證,也就是對username和password進行驗證。

2、如果驗證成功,將調用位于uc_client下client.php文件中的函數uc_user_synlogin,在這個函數中調用 uc_api_post('user', 'synlogin', array('uid'=>$uid))。

3、然后這個函數后向Ucenter的index.php傳遞數據,index.php接受傳遞的數據,獲得model為user,action為synlogin的值。

4、然后Ucenter的index.php調用control目錄下的user.php類中的onsynlogin方法,通過foreach循環,以Javascript的方式通知uc應用列表中開啟同步登陸的應用進行同步登錄;即通過get方式傳遞給各個應用目錄中api下的uc.php一些數據。

5、uc.php接收通知并處理get過來的數據,并在函數synlogin(位于uc.php中)通過函數_authcode加密數據(默認以UC_KEY作為密鑰),用函數_setcookie設置cookie。

6、各個應用用對應的密鑰解碼上面設置的cookie,得到用戶id等數據;通過這個值來判斷用戶是否經過其它應用登錄過,從而讓用戶可以自動登陸。

應用程序的logging.php ------>uc_client中的client.php------>Ucenter------>其他應用程序中的api/uc.php

其實Ucenter實現同步登陸的原理就是cookie,一個應用登陸成功之后,向Ucenter傳遞數據,讓Ucenter通知其他的應用也設置cookie,這樣用戶在訪問其他應用的時候通過已經設置好的cookie實現自動登陸。

大致步驟 ,首先要安裝 ucenter 然后把uc_client 這個文件夾復制到自己的項目里面去 ,然后呢在配置幾個文件

client.php相當于函數庫

uc.php相當于回調文件

config.php 是配置文件

當你有2個應用都設置了同步登陸之后  當你登陸一個應用 然后執行

include './config.inc.php';
include './uc_client/client.php';
$usernames="kyee";
$passwords="123456";
list($uid, $username, $password, $email) = uc_user_login($usernames, $passwords);
if($uid > 0) {

setcookie("username",$username,time()+intval(24*3600));
echo uc_user_synlogin($uid);
echo '登錄成功';
} elseif($uid == -1) {
echo '用戶不存在,或者被刪除';
} elseif($uid == -2) {
echo '密碼錯誤';
} else {
echo '未定義';
}

uc_user_synlogin() 這個函數 代表著 要同步登陸到其他所有開啟同步登陸的函數  uc自己會在后臺把所有開啟同步登陸的應用都給循環遍歷一遍 然后 在頁面上輸出 

<script type="text/Javascript" src="http://rayibeauty.ck101.com/api/uc.php?time=1408327309&code=bc6bFLa6WH343nin2GAn%2F82Y9cnCennPk1gcLGYHdQF4wsXsOSdTyqBb2Nuoxe0UJqzWMWncdx%2FfQ1GK6FS%2BqJqi2AxVG2Oq1pD9c1wZy%2BgjXs7qo4mm2sxFVHwW7JnjKGPDkVdDqtYeybkSISz7yrdb0ZFuXH2yr3Cq" reload="1"></script>

<script type="text/Javascript" src="http://kibeauty.ibeauty.tw/api/uc.php?time=1408327309&code=206flCqeb%2Faft%2FDFPno9Bvqsb1b0o6XTZdIByOoD7EC11vMrjzC7PaKLo0LF3tGiHwlwZkwdW5VDHq866MGulsco5nekfkL341VWp7BPabnZPNtgG7m4jZpfdx6nVP0LTJLYI%2BkebI7uLm58atk8Ex4sKBj%2FfDkjH%2F8z" reload="1"></script>

類似這種的js代碼 ,就是發送給每個開啟同步登陸的應用, 然后每個開啟同步登陸的應用的回調文件 uc.php 接受到后會進行解密,解密好后其實你就可以自己來寫代碼了,這個uc.php回調文件的代碼不一定非要按照他們的格式來寫 ,你也可以自己寫你自己的代碼 。

其實UC的原理很簡單 ,就是某個應用登陸后,然后后臺輪詢發送給同步登陸的應用的回調文件 ,回調文件接收到用戶ID之后,生成cookie或者session然后進入登陸模式。

php技術簡單分析ucenter 會員同步登錄通信原理,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产亚洲一区二区三区啪 | 国产色综合色产在线视频 | 99影视久久电影网久久看影院 | 午夜福利免费院 | 2018高清国产一区二区三区 | 久久操热在线视频精品 | 动漫美女被爆挤奶歪歪漫画 | 国产精品日本无码久久一老A | 无限资源在线看影院免费观看 | 亚洲欧美精品无码大片在线观看 | 国产人妻777人伦精品HD | jizz69女士第一次 | 欧美精品成人久久网站 | 久久国产精品萌白酱免费 | 偷上邻居熟睡少妇 | 免费特黄一区二区三区视频一 | 久青草国产观看在线视频 | 又黄又猛又爽大片免费 | 欧美卡1卡2卡三卡2021精品 | 久久精品AV一区二区无码 | 毛片手机在线观看 | 亚洲精品视频在线免费 | 小莹的性荡生活45章 | 性欧美video另类hd高清 | 特级aa 毛片免费观看 | 免费欧美大片 | 色多多深夜福利免费观看 | 日日干夜夜爽 | 国产精品久久久久婷婷五月色婷婷 | 亚洲精品无码午夜福利在线观看 | 亚洲欧美在无码片一区二区 | 亚洲人美女肛交真人全程 | 爽a中文字幕一区 | 寂寞夜晚免费观看视频 | 色鲁97精品国产亚洲AV高 | 强奸美女老师 | 国产精品99精品无码视亚 | 天龙八部慕容属性加点 | 国产精品久久久久秋霞影视 | 国产亚洲精品久久精品6 | 69精品国产人妻蜜桃国产毛片 |