3

1つのアプリで管理されるミニサイトジェネレーターに取り組んでいます。

各ミニサイトには独自の認証があります。

サブドメインを使用すると、特別にログインして、1つのミニサイトのみの設定を行うことができますが、別のミニサイトの設定はできません。

ここで、サブドメインを設定せずに各ミニサイトにアクセスできるフェイルオーバーが必要です。http://mygenerator/minisites/1123

minisite/パスレベルでCookieのスコープを設定することは可能ですか?

before_filterまたは、コントローラーレベルでCookieキーを動的に微調整する方法はありますか?

:pathconfigのオプションを確認しましたが、session_store関連性がないと思います。リダイレクトループでDeviseが台無しになります。

ありがとう !

4

1 に答える 1

1

返信が遅いことは承知していますが、インターネットでこの質問に答えているものは見つかりませんでした。

私の問題は、アプリケーションが常にサブパスで実行されていましたが、セッション Cookie は常に / に発行されていたことでした。私にとって、これはRails.application.config.x.base_url 特定の問題を設定して使用することで修正されrequestました。

これは、レールアプリケーションの新しいファイルに追加する必要があります./config/initializers/session_store.rb

  module SessionPath
      extend ActiveSupport::Concern

      def self.included(base)
        base.class_eval do
          alias_method :set_cookie_original, :set_cookie
          alias_method :set_cookie, :set_cookie_extended
        end
      end

      def set_cookie_extended(request, session_id, cookie)
        cookie[:path] = Rails.application.config.x.base_url #or what you need
        set_cookie_original(request, session_id, cookie)
      end

    end

ActionDispatch::Session::AbstractStore.send(:include, SessionPath)
于 2017-05-29T09:28:05.710 に答える