2010-05-25 84 views
0

我需要將vBulletin 4.0.3發佈套件與status.net微博平臺集成。 我需要做的第一件事是讓這兩個共享1個會話,以便登錄vBulletin論壇的用戶也將登錄到status.net,反之亦然。在vBulletin論壇和status.net微博平臺之間共享會話

我已經在不同的子域安裝了不同的vBulletin組件:

  1. forums.sample.com - vBulletin論壇
  2. blogs.sample.com - vBulletin博客
  3. sample.com - vBulletin內容管理

所有這些指向相同的地方(.../public_html/index.php),其中包括各自的PHP文件(sample. blog.php爲blogs.sample的content.php。 com | forum.php爲forums.sample.com)取決於$ _SERVER ['HTTP_HOST']

我已經配置vBulletin爲所有這3個域使用一個cookie.domain(.sample.com),因此訪問不同的域不會中斷會話。

我也有status.sample.com,這是status.net安裝的子域。子域配置是不同的,所以document_root實際上是sample.com中的一個子文件夾(.../public_html/status /)

現在,你可以給我一些關於如何使所有這些子域共享一個會話的指針?

我不確定它是否有幫助,但據我所知,status.net默認情況下沒有自定義會話處理,但可以打開它,因此它會開始將會話數據存儲在名爲「會話」。 vBulletin默認將會話存儲在數據庫中。

任何提示將不勝感激。

謝謝。

+0

好的,這裏是更多信息 - Statusnet:簡單登錄後,數據字段中沒有序列化的對象。值得注意的數據條目(除了session_id作爲主鍵)是'started','session_id','user_id'和'session_token'。 vBulletin:簡單登錄後,數據字段中沒有序列化對象。所有條目都被分隔成幾個字段。值得注意的字段是'userid','sessionhash','idhash','loggedin','lastactivity'和'location' 現在在登錄時插入一行並在兩個數據庫中更新開始/兩端比賽? – jaz 2010-05-25 14:53:09

回答

1

即使身份證他們都分享會議,這對你沒用。他們將不得不使用會話以同樣的方式,意思是:

  • 商店相同的按鍵相同的變量(或每個應用程序放在會議上,除了他的數據,它需要的數據,另一個需要)。
  • 除非它們使用完全相同的數據來執行登錄,否則它們都必須有權訪問用戶名/定義/其他應用程序的會話中存儲的任何內容
  • 如果它們存儲了對象,則它們必須具有訪問權限到相應的類定義

因此,除非您正在構建自己的應用程序並從頭開始考慮它,否則忘記「共享會話」。改爲使用單一登錄,例如CASOpenID

+0

CAS或OpenID是否允許我計劃的相同功能 - 用戶在網站上登錄/註銷? – jaz 2010-05-25 14:15:29

+0

有了CAS,是的。 OpenID沒有全局註銷。 – Artefacto 2010-05-25 15:08:55

+0

那麼,status.net支持OpenID開箱即用,vBulletin不支持,但它們都不支持CAS。你真的認爲將CAS引入混合而不是僅僅更新兩端的數據庫行會更簡單嗎?順便說一句,我添加了一個評論,我的問題,以幫助澄清你提出的一些事情。 – jaz 2010-05-25 15:12:27