我有一個場景,希望你的觀點。在不同的應用程序平臺之間共享會話
我在Django,Rails,PHP中開發了不同的Web應用程序,我希望他們每次都能共享相同的會話數據。意思是如果使用登錄到PHP應用程序,它可以自動登錄到Rails應用程序,反之亦然。
我知道它的某種中央認證服務器。其中一些是cas,josso。
你有什麼意見呢。我想要Google Apps這樣的行爲,當我登錄到Gmail時,我也可以自動登錄到GoogleDocs。
請分享您的想法,那如何實現這個場景?
我有一個場景,希望你的觀點。在不同的應用程序平臺之間共享會話
我在Django,Rails,PHP中開發了不同的Web應用程序,我希望他們每次都能共享相同的會話數據。意思是如果使用登錄到PHP應用程序,它可以自動登錄到Rails應用程序,反之亦然。
我知道它的某種中央認證服務器。其中一些是cas,josso。
你有什麼意見呢。我想要Google Apps這樣的行爲,當我登錄到Gmail時,我也可以自動登錄到GoogleDocs。
請分享您的想法,那如何實現這個場景?
在我的應用程序中,我使用SESSION
來存儲登錄用戶的值。例如$_SESSION['site1']['bakcend']['loggedin']=1;
比在其他地方進行會話檢查。他們當然都在同一domain.tld
如果你使用上面的例子$_SESSION['site1']['bakcend']['loggedin']=1;
如果你有很多部分,你將需要很多檢查。但這只是一個意見,有一個更大的靈活性的地方。
您也可以使用cookie。
$ _SESSION是唯一的PHP,需要handeling – borrel 2011-05-27 08:55:06
如果您刪除downvote,我將不勝感激。我也添加了cookies作爲選項:) – RRStoyanov 2011-05-27 08:56:01
在這個mater中使用cookies不安全 – borrel 2011-05-27 12:20:25
在PHP中,您可以使用session_set_save_handler
來指定會話是如何持久化和恢復的。我猜Django和Ruby On Rails提供了類似的方式
只是存儲在數據庫礦石會議自己處理他們完全
,最好的方法是創建一個特殊的表這 小心爲PHP希望在此時,相應的存儲之前,存儲這些數據sialized所以反序列化字段作爲序列化的數據實在是太難了在PHP處理
你有 $ _SESSION 和session_set_save_handler() ,但我認爲這是更好地爲您自己使它
確保所有網站使用單個cookie域(ajax onload(試圖獲得此coockie),或保持相同的域)
我沒有測試過,但可能會存儲會話變量的XML文件格式和然後在您的應用程序中共享該文件。 – SIFE 2011-05-27 09:20:54
這裏的問題是,每個框架或語言都以不同的方式實現會話(不同的後端,將其保存在後端等方式)。找到適用於它們的解決方案可能有點矯枉過正。 – 2011-05-27 09:34:05
我目前使用rubycas-server來實現我的場景,我的工作正在進行,因爲它會成功更新答案。 – 2011-05-30 23:04:27