我們公司用自己開發的php框架開發了一個網站,二級域名用dz(discuz)做了一個論壇,問題隨之而來了,那就是會員的通信問題。
一、什么是會員通信?
會員的通信是指幾個沒有關聯的多個應用(如論壇、博客、自己開發的網站等等)之間實現用戶同步登錄,同步退出,同步密碼、用戶名、郵箱,比如我在我自己網站上使用huwenfang賬號登錄了,那么當我打開網站的論壇和博客事,默認huwenfang賬號登錄,退出,修改用戶資料的通信如同以上。
二、現在的通信一般依靠什么?
依靠ucenter。ucenter就是用戶中心,由它管理這用戶的基本信息,它接受應用的發來的信息,并把該信息傳達到它下面的所有應用中。比如我在自己的網站中登錄了,我會告訴ucenter,“ucenter,你好,賬號huwenfang 登錄了”,接收到登錄信息的ucenter 會遍歷他下面的所有應用并發布命令,執行賬號 huwenfang 登錄的操作。所以說ucenter是個應用之間的一個通信橋梁,或者說是一個大腦(uc server),它可以操控它下面的應用。
三、重點來了,怎么實現各應用之間的通信呢?注意了,下面將全面講解,100%自創。
1、首先你要安裝一個ucenter,網上關于ucenter的安裝資料很多,這里就不做詳解了。
2、因為ucenter是康盛集團的產品,所以應用與ucenter通信主要分為兩大類:
1),一類是康盛集團旗下的其他產品,如 DiscuzX、Ucenter Home、 X-Space Discuz!、 SupeSite、 SupeV 、Ecshope 、 ECMall,就是登錄ucenter,添加新應用時 選擇應用類型,除了 “其他”,自動列出來的這些,如果你的網站是使用 康盛集團的產品 二次開發而成的,實現與ucenter的通信就非常的簡單,可以說是傻瓜試的,
安裝方式選擇“ URL安裝(推薦)”,下面的路徑是指 應用的更目錄下的install(安裝)文件的路徑,最后點擊“安裝”就完成了于ucenter的通信,然后返回到 應用列表,查看是否通信成功:我的 論壇是用dz做的,所以使用了這種比較簡單的安裝方式。
2)、第二種就是比較復雜的一種,即非康盛集團下的產品應用,比如我們的網站是自己的框架開發的,那該怎么辦呢??在介紹具體通信操作前,我覺著需要先總結下ucenter和個應用之間通信原理,以下原理是我自己總結的,如有錯誤,還請指出。
通信,字面意思就知道是需要雙方的合作,一方發送,一方接受,任何一方既可以發送,又可以接受通知。當我們在一個應用中執行了登錄操作,這個時候該應用就是信息發送者,需要發出信息告訴 ”大腦“(ucenter)某某人登錄了,如果經過check該用戶可以登錄,此時該應用要像大腦發送”某某人成功登錄,通知其他應用同時登錄“ 的信息。那么這個信息的發送是怎么執行的呢?是通過ucenter給的接口,關于ucenter提供的接口,在最后我會列出來的。
新聞熱點
疑難解答