日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何使自己的网站与UC进行用户整合

發(fā)布時間:2024/1/17 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何使自己的网站与UC进行用户整合 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
UCenter整合 詳細(xì)教程 康盛的Ucenter產(chǎn)品非常的強大。即便不使用也有很好的學(xué)習(xí)價值。 在這里我們只說,如何將自己的網(wǎng)站和其他康盛的站點互通,當(dāng)然是使用ucenter 為了,讓兩個應(yīng)用之間可以互通(比如,自己的站點和uchome),我們需要先做一件事情, 將ucenter安裝包中的 UCenter_1.6.0_SC_UTF8\advanced\examples下的api文件夾,config.inc.php文件和uc_client文件夾(這個在上一級目錄),放到自己站點的一個目錄下。 一般我們可以將他們都統(tǒng)一放在一個目錄中,這里我們?nèi)∶麨閡cclient,目錄結(jié)構(gòu)形如 接下來我們所說這個三個文件分別代表什么。 1、Api文件夾中uc.php,你可以認(rèn)為他是一個對外開放的接口文件,是REST形式的。該文件會根據(jù)被訪問時,所帶的參數(shù)執(zhí)行相應(yīng)的指令。 典型的樣子如下: http://localhost/uctest/examples/api/uc.php?time=1325579904&code=b785JopNAE5CnbKhng8Ci%2BRHv%2BuPSty5ycbzXYUyTFHxhHWHOCNsXK2gFYJakUrXMalBjcg2m3KyY5142iT8drZCzMwvzyOq4aciGgnArt4icSj6Kg63WrsbflE3vE%2BHLpvIY3jsE5OPbmTe8C9EaDDY6%2Fwy2iyGtYDM 最關(guān)鍵的地方就是這個code參數(shù),他是一個被加密了字符串,是基于base64和UC_KEY進(jìn)行加密的。這個UC_KEY就是uc的通信密鑰。這個字符串包含了,我們要進(jìn)行的操作(比如,synlogin),包含了我們需要的參數(shù)(比如username,password等)。所以,密鑰很關(guān)鍵,切不可設(shè)置的簡簡單單。 簡而言之,這個uc.php是用來被ucenter調(diào)用的,由此我們也可以知道,其中有不少方法,是需要我們根據(jù)我們自己站點的情況重寫的。Uc.php只是統(tǒng)一一個接口,讓ucenter知道如何和我們的站點通訊。 2、uc_client文件夾,是一個很重要的類庫,當(dāng)然其實他不只是類庫,但是他最重要的作用就是給我們提供相應(yīng)的同步方法,這些同步方法,都是用來通知ucenter server的(也可以認(rèn)為就是調(diào)用ucenter的方法)。 3、config.inc.php這個配置文件,配置了我們需要的參數(shù)的,比如ucenter server的url等等,都是寫很重要的參數(shù),在uc.php和uc_client中都會用到。 4、include沒有什么用,這里只是為了讓他不報錯,加入的。你可以改造uc.php后,將include目錄去除。 ? 以上就是我們整合ucenter時需要了解的地方。 接下來,我們說說ucenter applications之間的通知機制,就是我在uchome登錄,是如何通知到我的網(wǎng)站的,反之又是怎么樣的。 我們可以跟蹤一個最簡單的synlogin方法,就可以發(fā)現(xiàn),最終該方法返回的是一段html代碼,并且是一個或多個script標(biāo)簽的代碼(個數(shù)和你的application個數(shù)有關(guān))。這個和同步又有什么關(guān)系呢? 其實他這里處理起來很簡單,就是利用html中的script標(biāo)簽的src屬性,因為當(dāng)在頁面中加入script的時候,起會作為一個get自動訪問指定的url,通過這種方式,就在用戶不知不覺得情況下,調(diào)用了需要調(diào)用的方法(REST),同時因為ucenter使用了pop3協(xié)議,讓其跨域設(shè)置cookie成為了可能。由此完成了同步目的,因為你同時設(shè)置了其他應(yīng)用會用到的cookie。 這就是為什么,每次登錄uchome之類的,總會有個中間頁面,提示你三秒后會自動跳轉(zhuǎn)之類。因為頁面級的get訪問,可以要花時間的,如果我們用很快的速度點擊調(diào)轉(zhuǎn)的話,他沒有足夠的事件來完成script標(biāo)簽中的響應(yīng)的話,我們的同步可就不起作用了。 ? 【提高部分】 有個中間頁面,總是覺得不太舒服。有沒有辦法不要這個中間頁面就直接點登錄,在后臺完成相應(yīng)的同步操作呢?答案是肯定的。 解決方案其實也很簡單,就是使用curl或get_files_content來獲取需要設(shè)置的cookie 大致的思路就是,在登錄執(zhí)行的部分,我們額外地通過curl訪問,前面所說的script中的src所對應(yīng)的url,將其需要設(shè)置的cookie取出來,整合到我們即將返回的Respones中。這樣,我們就可以實現(xiàn)目的了。其實這里,我們就是利用curl做了個橋的作用,然后整合下。 那么為什么ucenter不直接采用這個方式,還采用中間頁面的方式呢? 這個和ucenter支持的php版本有關(guān),康盛支持php4.0,同時又要保證,不使用額外安裝的exitension。這里我們用到的curl是一個extension,get_files_content又是5.0才引入的。一切都明白了吧。都是為了兼容性。 ? 最后,總結(jié)下,需要整合ucenter的話,我們一般要改三處地方, 1、? config.inc.php,提供基本參數(shù),一定要準(zhǔn)確無誤。 2、? uc.php,供別的application調(diào)用的同步代碼,需要將自己的相應(yīng)登錄或登出等邏輯寫進(jìn)去。 3、? 站點自身的登錄或登出功能,在其中我們需要調(diào)用其他application的同步代碼,有兩種方式,中間頁和curl ? 根據(jù)這些原理分析,由于個application間的通信都是通過http和pop3協(xié)議的,所以,可以很好的跨平臺,對于asp.net等其他的語言,只需要仿造php版本的邏輯寫個就行,只是要保證類似uc.aspx中的方法簽名一定要保證一樣,否則的話產(chǎn)生出來的operation什么可就對不上了。另外,在ucenter server出設(shè)置時,也不要設(shè)置成uc.php了。要設(shè)置成uc.aspx了。 在最后,說說大致的開發(fā)思路。 首先有個前提,這些文件都是在你站點的服務(wù)器上,并沒有在uc那邊。 在uc.php中,你最可能會需要改動的函數(shù)邏輯是synlogin和synlogout,你需要在這個文件寫,加入你自己站點的登錄,登出邏輯。 在自己的站點的登錄登出邏輯這里,記得要調(diào)用client.php中的方法,利用其返回的同步代碼,最后是模擬登錄呢還是中轉(zhuǎn)頁,你自己決定了,但是得要在你的邏輯中實現(xiàn)這個過程。改動了這這兩個就完成了雙向的登錄,登出。但是,要注意,你的登錄機制,否則cookie可能設(shè)置不上。 本次內(nèi)容轉(zhuǎn)載自互聯(lián)網(wǎng),稍后進(jìn)行驗證 終于驗證出效果來了~ 以上內(nèi)容配置正確后,應(yīng)用就可以與UC進(jìn)行通信并成功了,接下來就是要實現(xiàn)的登錄及退出的功能了,這里可以直接使用官方包中的 ucexample_2.php為例進(jìn)行相應(yīng)的修改。最終完成用戶同步登錄等效果

總結(jié)

以上是生活随笔為你收集整理的如何使自己的网站与UC进行用户整合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。