プロジェクトを Django 1.4 から Django 1.5.1 に移行しようとしています ...
Web サービスは、認証済みユーザーと匿名ユーザーの両方としてアクセスできる必要があります。また、Apache モジュール ( https://docs.djangoproject.com/en/1.5/howto/auth-remote-user/に従って "REMOTE_USER" env var を設定) で外部認証を使用します。
URL https://example.com/の内容は、ユーザーが匿名か認証済みかによって異なります。
Django 1.4 で使用した戦略は、/auth/ で始まる URL のみが Apache のモジュールによって認証されるというものでした。ユーザー (ページhttps://example.com/にいる) が認証を選択した場合、ユーザーはhttps://example.com/auth/にジャンプします。/auth/ は Apache のモジュールによって認証され、Django アプリケーションによって提供され、https://example.com/にリダイレクトされます。session_key により、Django はユーザーが認証されていることを認識します。
残念ながら、Django 1.5.1 では ... session_key は、ブラウザーが認証済み URL から非認証 URL に移動するたびに変更されます。
私のログでは、 (Django 1.5.1) を見ることができます:
DEBUG 2013-04-09 09:15:20,571 views home None
DEBUG 2013-04-09 09:15:48,886 views auth ow1bzgdajs7i12d9bmfwwm3fpw47elna
DEBUG 2013-04-09 09:15:48,981 views home mehlf1x0iemx9yc3ddf6mhnls1nha1r4
- 最初の行は、ユーザーがhttps://example.com/にアクセスしたときです。
- 次に、「接続」ボタンをクリックしたとき。
- 3 番目は / への HttpResponseRedirect です。
- 最後の文字列は request.session.session_key です。
/auth (Django 1.5.1) で apache 認証を削除すると:
DEBUG 2013-04-09 09:16:45,268 views home None
DEBUG 2013-04-09 09:16:48,258 views auth None
DEBUG 2013-04-09 09:16:48,345 views home None
Django 1.4 では、同じログが与えるものは次のとおりです。
DEBUG 2013-04-09 09:11:21,899 views home None
DEBUG 2013-04-09 09:11:41,261 views auth f16ab3e574b866177803f9011dc33ab8
DEBUG 2013-04-09 09:11:41,375 views home f16ab3e574b866177803f9011dc33ab8
この動作の変更は予想されますか? (新機能?) どうすれば修正できますか?
ありがとう!