1

さまざまなサイトにインストールされるウィジェットを作成していますが、サイトごとに異なるユーザーが必要です。問題は、閲覧している同じ人が、私のウィジェットを使用する 2 つの異なるサイトを同時に開いている可能性があることです。これは、ユーザーが複数のアカウントで同時に同じ Django サイトにログインする必要があることを意味します。

私の理解では、Django は通常、セッションごとに 1 人のユーザーのみがログインしていると想定しています。

これを行うための最も簡単で効果的な方法は何ですか?

4

2 に答える 2

1

サイトごとのデータをユーザーのセッションに保存することになりました。つまり、、session['site_id_1'] = user_obj_1などsession['site_id_2'] = user_obj_2...

ログインする代わりに、ユーザー データを適切なキーに保存するだけです。ログアウトする代わりに、サイトのキーを削除します。

于 2011-06-06T09:21:51.357 に答える
0

セッションミドルウェアを書き直す必要があると思います。デフォルトの実装では、セッションはデータベースに保存され、session_key は Cookie に保存され、cookie_name は で定義されsettings.pyます。

したがって、独自のセッション ミドルウェアを作成する場合は、サイトごとに異なる Cookie 名を定義し、それに応じてデータベースからセッションを取得できます。django.contrib.sessions.middleware.SessionMiddlewareは良いテンプレートです。

于 2011-05-31T15:36:04.470 に答える