我需要在多个 django 应用程序之间共享用户凭据。每个应用程序都完全不同并且服务于不同的目的,但我希望用户只需注册一次即可使用任何应用程序。
我已经设法通过在我的 Postgres 数据库中定义多个模式来设置它。据我所知,Django 不明确支持网络模式,但我确实(主要)通过为每个应用程序定义不同的搜索路径(每个应用程序使用自己的用户名连接到 Postgres)来使其工作。
我有以下模式(例如):
- auth
- app1
- app2
- app3
- common
因此,应用的用户搜索路径可能如下所示:
app1, common, auth
一切似乎都很好,除了 django-registration 提供的注册功能。当我尝试注册一个新用户时,它会在 auth_user 表和 registration_registrationprofile 表中创建一个新行(两者都位于 auth 模式中)。激活电子邮件也已发送,但是当我单击激活链接时,我收到一条消息“帐户激活失败”。没有其他信息。
有没有其他人看到过这个并且可能有一个解决方案来让激活在这样的设置中工作?