複数のdjangoアプリ間でユーザーの資格情報を共有する必要があります。各アプリは完全に異なり、目的も異なりますが、ユーザーがいずれかのアプリを使用するには、一度登録するだけで済みます。
Postgresデータベースで複数のスキーマを定義することでこれを設定することができました。Webで見つけた限り、スキーマはDjangoで明示的にサポートされていませんが、アプリごとに異なる検索パスを定義するだけで(ほとんどの場合)機能するようになりました(各アプリは独自のユーザー名を使用してPostgresに接続します)。
私は次のスキーマを持っています(例として):
- auth
- app1
- app2
- app3
- common
したがって、アプリのユーザーの検索パスは次のようになります。
app1, common, auth
django-registrationによって提供される登録機能を除いて、すべてが正常に機能しているようです。新しいユーザーを登録しようとすると、auth_userテーブルとregistration_registrationprofileテーブル(両方ともauthスキーマに存在します)に新しい行が作成されます。アクティベーションメールも送信されますが、アクティベーションリンクをクリックすると、「アカウントのアクティベーションに失敗しました」というメッセージが表示されます。他の情報はありません。
他の誰かがこれを見たことがあり、おそらくこのような設定でアクティベーションを機能させるための解決策がありますか?