兩個網站資料同步與登入的有關問題(CSDN如何做的?)

來源:互聯網
上載者:User
兩個網站資料同步與登入的問題(CSDN怎麼做的?)
hi
項目中遇到一個問題,想聽聽各位的思路

有兩個網站,一個是用asp.net開發的,資料庫是mssql
另外一個是用php,資料庫是mysql, 現在需要做到:

兩個網站的使用者資料同步,即在任何一個網站上註冊,在另外一個網站上都可以登入,除了登入資訊要同步以外,還需要同步積分,即在兩個網站上搞一些行為,都可以獲得積分,兩個網站上都可以花這些積分

兩個網站部署在同一個機房,web伺服器可以高速的訪問db server, 兩個網站用的是同一個網域名稱的不同的子網域名稱,想問問有什麼思路讓這兩個網站同步,如何?single sign on,有沒有什麼比較成熟的做法或者架構可以選用?

另外:1 “兩個站”是不跨domain的~~ 2 我也想問問CSDN是怎麼與uchome整合的?

謝謝

------解決方案--------------------
你給的分有點少啊!


關於你說的效果!有多種實現方式!

1.webservice

2.共用一部分資料庫資料(反正一機房)

3.xxxx方式
------解決方案--------------------
用ucenter要求你要有一個asp的解密協議同php的一樣的。

其他的都較容易。

由ucenter分發登入資訊並同步。


如果你用web服務,這個可能只能是被動的吧。退出不同步吧。

被動式的,需要檢查時去webserver去查一下有沒有登入或退出。如果有,則,認為登入。 這個需要程式經常或在有必要時,要檢查webserver. 如果一應用退出,除非另一程式檢查,否則他不會退出。




------解決方案--------------------
可以通過共用SESSION的方式來實現:

看UCENTER同步機制談SSO

先說說SSO(單點登入),它的大致原理是所以網站會有一個公用的使用者認證 系統,所有的登入登出都由此系統來處理。我們可以將其理解成網站C,現在有A B兩個站 點需要同步,在使用者訪問A的時候,A先去訪問C,看使用者是否已在C有登記,沒有的話直接 跳轉到C去登入,成功後跳轉到A,並且在A上存了一個COOKIE來保留使用者資訊。此時A登入 成功。當使用者再去訪問B網站的時候,系統將會把COOKIE的值一同返給證明伺服器,驗證其 是否合法,如果合法的話,認定使用者已登入,無需重新登入,如果有更多網站的話,道理 相同,這樣就實現了多個網站同步功能。(這裡每個網站的使用者會話機制可以不同,我們 可以根據認證端返回的資訊使每個網站構建自己應用的會話資訊。)

所以為了 完成一個簡單的SSO的功能,需要兩個部分的合作:
1、統一的身份認證服務。
2、修改Web應用,使得每個應用都通過這個統一的認證服務來進行身份效驗。

再說說UCENTER,提到這個,用過康盛產品的人肯定很熟悉,就是它將康盛的 多個產品聯絡到了一起,DISCUZ、SUPESITE、UCHOME等等,都可以通過它做到使用者同步。 前面的一篇文章《UCenter跨域、單點登陸機制分析》

http://www.trindo.cn/? action=show&id=60已經大致分析過其實現機制,主要還是登入登出任何一個網站 的時候,去批量處理所有存在於UCENTER中的網站列表,實現其同步的原理。

看到這裡,我們可以發現其實UCENTER就是一個簡單的SSO。但是其具有局限性,當需要同 步網站多的時候,UCENTER處理起來會很吃力(這點很多網友應該深有體會)。而如果我們 採用普通的處理機制,無論有多少個網站,根本不受影響。因為只有我們用到某個網站的 時候,此網站才會與認證系統互動,不會浪費資源。

前段時間做了一個項目就 遇到了一個JSP網站與PHP網站同步的需求,這裡我就用到了一個同步PHP檔案,此檔案的主 要用途在於一個PHP與JSP加密解密通用函數encrypt,decrypt。認證系統是用JSP編寫的。 這個PHP同步檔案包含在使用者需要登入的地方,當使用者訪問此頁面時,(如果已在主站登入 )系統會將本地存在的COOKIE資訊拋給認證系統,經過認證處理後,如果正確則返回使用者 名,在PHP這邊就可以根據使用者名稱來處理這邊的會話機制,達到登入的目的,如果認證失敗 ,則直接跳轉到認證系統進行認證。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.