古いアプリと同じドメインで実行されるRailsアプリを作成しています。古いアプリのRESTfulログイン機能を使用して、新しいアプリのユーザーを認証できるようにしたいと思います。理想的には、ユーザーは古いアプリにログインしてから、新しいアプリにアクセスできます。アプリごとに2つの雑種インスタンスを実行しています。どんな助けでも大歓迎です
2 に答える
だから私はそれを理解しました。(lolindrath が提案したように) ユーザー データベースに接続して、新しいアプリがユーザー データベースにアクセスできるようにすると、途中まで進みます。ユーザーは古いアプリと同じように、restful を使用して新しいアプリにログインできるようになりましたが、認証は 1 つのアプリから別のアプリに転送されません。1 回のログインで両方のアプリを機能させるには、Cookie セッション データを古いアプリから新しいアプリにコピーする必要があります。
したがって、./config/initializers/sessiont_store.rb ファイルで、以下のデータを古いアプリから新しいアプリに貼り付けます (レールの古いバージョンでは、./config/environment.rb ファイルに含まれています)。
ActionController::Base.session = {
:domain => '.localhost.com',
:session_key => '_Project_name_session',
:secret => '09808ajdsfkljdfwu309jas3longerkey'
}
同じバージョンの認証プラグインを使用する場合、別のデータベースを使用して認証できます。
Rails は複数のデータベース接続を処理しないため、次のようなハックを使用する必要があります: Ruby on Rails での複数のデータベース接続。
次に、古いアプリとまったく同じプラグインをインストールして、同じデータベース スキーマを使用するようにします。次に、User モデルで、データベース接続を古いデータベースに切り替えます。