主頁 > 知識庫 > 使用ucenter實現(xiàn)多站點同步登錄的講解

使用ucenter實現(xiàn)多站點同步登錄的講解

熱門標簽:Linux服務器 電子圍欄 銀行業(yè)務 團購網(wǎng)站 阿里云 服務器配置 Mysql連接數(shù)設置 科大訊飛語音識別系統(tǒng)

做Web開發(fā)經常會要求實現(xiàn)多站點同步登錄的情況,對于PHP開發(fā)來說,我們可以使用ucenter來實現(xiàn)多個站點同時登陸同時退出,用戶同步的功能。下面我們一起看一下ucenter是如何實現(xiàn)同步登陸的。

首先站點都要引入一個uc_client這樣一個客戶端,以登陸為例,登陸時首先會調用一個外部函數(shù),uc_client/client.php下的uc_user_login檢查是否存在此用戶,如果正確則繼續(xù)執(zhí)行登陸代碼,檢測此用戶過程:通過用戶是以什么方式連的uc(mysql還是http post)然后去相應地用不同函數(shù)來檢測用戶,檢測完成后實現(xiàn)本地登陸,代碼自己寫,然后讓其他應用程序也登陸,此時調用外部函數(shù)uc_user_synlogin,過程如下:

Uc_user_synlogin調用uc_api_post來實現(xiàn)是要做哪個模塊,比如現(xiàn)在就是user模塊,傳的參數(shù)是user_id,具體這是怎么實現(xiàn)的沒再仔細看,總之是將數(shù)據(jù)發(fā)送到uc_api即你的ucenter地址的index.php,同時附一些參數(shù),根據(jù)這些參數(shù)然后再去讀里面所有可通信的應用程序,讓他們也實現(xiàn)登陸,這是其他程序的事兒了。

通知其他應用程序主要是通過ucenter,去向各應用程序下的api/uc.php發(fā)送一些數(shù)據(jù),這些數(shù)據(jù)由uc.php接到請求然后去執(zhí)行相應的登陸操作等。

下面舉個例子描述一下整個過程

1.用戶xxx在某一應用程序的login.php,輸入用戶名,密碼。先用uc_user_login函數(shù)到uc server驗證此用戶和密碼,如正確,則寫入session,寫入cookies,并更新應用程序會員表中的登錄ip,登錄時間。用戶感覺不到這個過程。

2.然后通過uc_user_synlogin通知uc server 用戶xxx登錄成功,這個過程可能使用ajax,用戶感覺不到通知過程。

3.uc server收到這個消息后,馬上命令手下,把xxx登錄的消息,像令牌環(huán)一樣,發(fā)給所有愿意接收(后臺中那個是否開啟同步登錄)這個消息的其它應用程序。其實就是帶參數(shù)訪問一下各應用程序的uc.php,用戶感覺不到這個過程。

4.各應用程序靠api下的uc.php來接收uc server發(fā)來的消息,并對uc server言聽計從,讓干什么就干什么?,F(xiàn)在,收到讓xxx用戶在你的程序中登錄的命令,馬上執(zhí)行。并寫本應用程序的session,并且使用p3p, 寫入相同域或不同域的cookies.  用戶感覺不到這個過程。

5.最后所有和uc整合的程序,xxx均登錄成功。用戶從www.jb51.net登錄后, 跳到www.jb51.net同樣顯示登錄。

6.應用程序與uc server的會話結束。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

您可能感興趣的文章:
  • PHP設計模式之工廠模式(Factory Pattern)的講解
  • 使用PHP反射機制來構造"CREATE TABLE"的sql語句
  • 啟用OPCache提高PHP程序性能的方法
  • 在CentOS上安裝搭建PHP+Apache+Mysql的服務器環(huán)境
  • CentOS下安裝Memcached和PHP Memcached擴展
  • PHP+RabbitMQ實現(xiàn)消息隊列的完整代碼
  • PHP實現(xiàn)的數(shù)據(jù)對象映射模式詳解
  • PHP函數(shù)積累總結
  • PHP與Perl之間知識點區(qū)別整理
  • PHP后臺備份MySQL數(shù)據(jù)庫的源碼實例

標簽:蚌埠 江蘇 大理 衢州 衡水 棗莊 廣元 萍鄉(xiāng)

巨人網(wǎng)絡通訊聲明:本文標題《使用ucenter實現(xiàn)多站點同步登錄的講解》,本文關鍵詞  ;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266