2009-09-18 5 views
6

私は全体の同じユーザー・セッションのスパンを聞かせしたい: site.com
sub1.site.com
sub2.site.com私はジャンゴでこれを行うことができますどのように

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

UPDATE:settings.pyのSESSION_COOKIE_DOMAIN値を使用すると、本番サイトで動作するようですが、localhost/devサーバーでは動作しません。あなたはそれをローカルホストのサブドメインでどのように動作させるのですか? SESSION_COOKIE_DOMAINを本番ウェブサイト名または ".localhost"に変更すると、django認証ログインが完全に停止する(私はログインできなくなり、ローカルホストにはクッキーが作成されない)。

+0

これは重複していると思いますが、この質問をご覧ください: [http://stackoverflow.com/questions/1442017/subdomains-and-logins](http://stackoverflow.com/questions/1442017/subdomains-and -logins) –

答えて

12

私は、 localhostは使用できませんでした。 127.0.0.1にマップされているテスト用の ".com"ドメインでのみ動作します。 (私の開発settings.pyに続いて

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

:) OSX上で私の/ etc/hostsファイルで


 
    SESSION_COOKIE_DOMAIN=".test.com" 

私は無地の "localhost" をして作業し、これを得ることができませんでしたそれが働くには、そこに ".com"という文字列が必要なように思えました。だから私はログインして、私のブラウザでsub1.test.com:8000とsub2.test.com:8000を使ってサブドメインの認証クッキーをクロスすることができました。