ucenter 通訊原理,ucenter_PHP教程

來源:互聯網
上載者:User

ucenter 通訊原理,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自己會在後台把所有開啟同步登陸的應用都給迴圈遍曆一遍 然後 在頁面上輸出


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


其實UC的原理很簡單 ,就是某個應用登陸後,然後後台輪詢發送給同步登陸的應用的回調檔案 ,回調檔案接收到使用者ID之後,產生cookie或者session然後進入登陸模式。


UCenter使用者管理中心添加天天團購、記事狗微博的時為何老顯示“通訊失敗”到底怎解決?高分答案

Ucenter通訊原理
wenku.baidu.com/...1.html
 

本人是二本的通訊工程專業,教非官方回答 學習通訊原理的目的是什? 在什工作中的會起作用?

我也是二本通訊的。
大學學通訊不僅是選擇自己的專業,還是選擇自己的職業。既然選擇了它,真的真的就要全心學好。工作時找對口工作。現在沒興趣的話就要儘快培養興趣。通訊可以說永遠丟失朝陽產業,所以只要你學好了,不怕找不到好工作!
本科課程很多,每個學校也都不一樣。但是主要的幾門基礎課肯定是會有的。《模電》《數點》《訊號系統》《通訊原理》。特別是訊號,是通訊的理論基礎,一定一定要學好。其實說白了,也就是數學要學好。不管將來你要考研還是找工作,數學學好了絕對不會吃虧。特別是考研時特有用。哎,感慨一下。想增加學習通訊的動力有很多,首先看看進入通訊行業的工作有3年以上的工資都很高。而且外人看來很深奧的呢看來很簡單,會很有成就感。直接的動力是你可以上通訊之類的大網站論壇看看,或者看看比如《大話通訊》之類的入門書籍。
希望這些資訊對你有用。
 

http://www.bkjia.com/PHPjc/868763.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/868763.htmlTechArticleucenter 通訊原理,ucenter 1、使用者登入discuz,通過logging.php檔案中的函數uc_user_login對post過來的資料進行驗證,也就是對username和password進行驗證...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.