回答

2

CloudFoundry文檔只是說默認情況下不會跨實例複製HTTP會話。所有這一切意味着部署在多個實例上的應用程序默認情況下將無法使用任何類型的HTTP會話羣集。 HTTP會話變得粘滯,也就是說,同一會話中的所有HTTP請求都將路由到請求會話所在的實例。在實例失敗的情況下,那些在該實例上有活動會話的用戶將被遷移到其他實例,但他們將失去他們的會話信息,這意味着他們將不得不再次登錄。

這並不意味着在這樣的環境中使用Spring Security是不安全的。 Spring Security的語義與沒有它的語義相同。一旦用戶登錄後,他們將繼續訪問其創建會話的CloudFoundry實例。如果該實例崩潰,它們將自動移植到另一個實例,但必須重新登錄。

如果缺省設置(沒有會話複製)是一個問題,那麼可以跨實例共享會話。 CloudFoundry論壇列出了實現此目的的兩種方式 - via Redisusing JDBC。也可以使用CloudFoundry服務之一實現您自己的解決方案。

相關問題