0

サブドメインを持つ Rails 4 アプリケーションがあります。

登録されている各ユーザーには、システム全体を使用するために使用するサブドメインがあります。

これが私が遭遇している問題です

ユーザーは、sub.lvh.me/login のような URL を使用してログインします。一度ログインすると、ユーザーを sub.lvh.me/home のようなサブドメインの URL にリダイレクトしますが、そこに到達するとすぐにログアウトされます。 . セッション情報は消去されます。

これが私の session_store 初期化子にあるものです

Repvista::Application.config.session_store :cookie_store, key: '_repvista_session', domain: :all

これはうまくいきませんか?

アップデート:

メイン ドメイン lvh.me を使用してログインし、sub.lvh.me に移動すると、ログインしていることがわかりました。サブ ドメイン URL を介してログインできるようにしたいと考えています。

ありがとう

4

1 に答える 1

0

これはウィキペディアのページからです

Cookie のドメインとパスは、Cookie の範囲を定義します。指定されたドメインとパスのサーバーにのみ Cookie を送り返す必要があることをブラウザに伝えます。指定しない場合、要求されたオブジェクトのドメインとパスがデフォルトになります。ユーザーがログインした後の Web サイトからの Set-Cookie ディレクティブの例:


セット Cookie: LSID=DQAAAK…Eaem_vYg; ドメイン=docs.foo.com; パス=/アカウント; Expires=2021 年 1 月 13 日水曜日 22:23:01 GMT; 安全; HttpOnly

セット Cookie: HSID=AYQEVn….DKrdst; ドメイン=.foo.com; パス=/; Expires=2021 年 1 月 13 日水曜日 22:23:01 GMT; HttpOnly

セット Cookie: SSID=Ap4P….GTEq; ドメイン=.foo.com; パス=/; Expires=2021 年 1 月 13 日水曜日 22:23:01 GMT; 安全; HttpOnly

……


最初の Cookie LSID にはデフォルトのドメイン docs.foo.com とパス /accounts があり、docs.foo.com/accounts に含まれるページを要求する場合にのみ Cookie を使用するようブラウザーに指示します。他の 2 つの Cookie HSID と SSID は、www.foo.com/ などの任意のパスで .foo.com のサブドメインを要求しているときに、ブラウザによって返されます。

Cookie は、トップ ドメインとそのサブ ドメインにのみ設定できます。www.bar.com から www.foo.com に Cookie を設定しても、セキュリティ上の理由から機能しません。

これが、セッション Cookie スコープがどのように機能するかを理解するのに役立つことを願っています。

于 2013-11-10T14:28:56.617 に答える