9

ユーザーが 1 つのドメインで Web サイトにサインインし、同じセッションで他のパートナー ドメインに自動的にアクセスできるようにする宝石、チュートリアル、またはソリューションを知っている人はいますか?

私は 2 つの Rails アプリを実行しています。それらを App-A と App-B と呼びましょう。App-A にはデータベースが関連付けられており、App-A.com での登録とログインを強化しています。App-A.com アカウントを持つすべてのユーザーに、App-B.com への再登録や手動でのログインを個別に行わずに、App-B.com へのアクセスを許可したいと考えています。

助けてくれてありがとう! - マーク

4

2 に答える 2

5

両方のアプリで同じ session_key を設定できます。appA environment.rb で、次のように session_key を変更します

Rails::Initializer.run do |config|
   ...  
 config.action_controller.session = {
   :session_key => '_portal_session',
   :secret      => '72bf006c18d459acf51836d2aea01e0afd0388f860fe4b07a9a57dedd25c631749ba9b65083a85af38bd539cc810e81f559e76d6426c5e77b6064f42e14f7415'
  }
  ...
end

AppB で同じことを行います。(まったく同じシークレットを使用することを忘れないでください)

これでセッションが共有されました。user_idというセッション変数を設定する restfull_authentication を使用するとします。appA で認証すると、セッションに user_id が設定されます。appB では、user_id がセッションに存在するかどうかを確認する必要があります。

これは全体的なスキーマです。このアイデアを使用してさらに詳しく説明できます。

于 2008-11-08T11:38:45.163 に答える
1

アプリケーション用のシングル サインオン ソリューションを作成する場合は、RubyCASソリューションを検討することをお勧めします。これは、Rails 以外の他のアプリケーションにシングル サインオンを提供するためにも使用でき、LDAP や他の認証プロバイダーと認証を統合することもできます。

于 2008-11-08T19:03:52.707 に答える