7

同じユーザーセッションを次の場所にまたがらせたい:site.com
sub1.site.com
sub2.site.com

Djangoでこれを行うにはどうすればよいですか?デフォルトの認証ユーザーパッケージでは、ユーザーは毎回異なるセッションで3つのサイトすべてにログインする必要があるようです。同じログインCookieとセッションIDをどのように共有できますか?

更新:settings.pyでSESSION_COOKIE_DOMAIN値を使用すると、本番サイトでは機能するようですが、localhost/devサーバーでは機能しません。ローカルホストのサブドメインでどのように機能させるのですか?SESSION_COOKIE_DOMAINを本番Webサイト名に変更するか、「。localhost」django authログインが完全に機能しなくなると(ログインできなくなり、ローカルホストにCookieが作成されません)。

4

1 に答える 1

14

回避策は得られたと思いますが、localhost を使用できませんでした。127.0.0.1 にマッピングされたテスト用の「.com」ドメインでのみ動作するようになりました。

/etc/hosts ファイル (OSX の場合:)

    127.0.0.1 test.com
    127.0.0.1 sub1.test.com
    127.0.0.1 sub2.test.com

次に、開発用の settings.py で:

    SESSION_COOKIE_DOMAIN=".test.com"

プレーンな「localhost」ではこれを機能させることができませんでした。機能させるには「.com」文字列が必要なようでした。そのため、ブラウザで sub1.test.com:8000 と sub2.test.com:8000 を使用して、ログインしてクロスサブドメイン認証 Cookie を持つことができました。

于 2009-09-18T14:03:38.940 に答える