2

Symfony 2 アプリ (PHP) のサブドメインに存在する Rails アプリを構築しています。それらは同じタイプのユーザーによって使用されるため、アプリ間を行き来し、理想的には 1 回だけログインしてもらいたいと考えています。

同じ種類のアプリのサブドメイン間でセッションを共有する方法についていくつかの解決策を見てきましたが、Symfony と Rails の間でセッションを共有するための解決策はありません。出来ますか?

Rails session_store がデータベース バックエンドを使用できることに特に興味をそそられました。デフォルトは Cookie です。両方のアプリがデータベース バックエンドを使用するとしたら、セッションを共有できるのでしょうか?

機能する場合、これを機能させるために他にどのような代替手段を使用できますか?

4

1 に答える 1

3

確かにそれは可能ですが、どれだけの作業をしなければならないかわかりません;)

主なものはセッションIDです。それはすべてそれに依存します。両方のアプリケーションが同じセッション ストレージを使用するようにする必要があります。

SessionId両方のアプリケーションがそれを使用する限り、データベース、ファイル (かなり遅くなります)、または他の場所に保存するかどうかは問題ではありません。

おっしゃったように、Rails はそのままデータベース内のセッションをサポートします。Rails には Memchached Storage という別の方法もあります。これは多かれ少なかれ独自のデータベースであり、高速なキー値検索用に最適化されています。

したがって、データベースまたは Memcache ストレージで SessionId をサポートする Symfony プラグインがあるかどうかを確認する必要があります。

こちらをご覧ください: http://watsonbox.github.com/blog/2012/05/01/sharing-session-between-rails-and-php/


言い忘れました: 両方のアプリケーションは、Cookie 内で同じ SESSION_ID 名も使用する必要があります;)

于 2013-03-01T00:24:18.920 に答える