如何在 Django 中为每个域名拥有用户?



我正在使用 Django 构建一个应用程序,其中每个客户都有自己的域名(我们域中的子域,例如 customer.example.com 或他们自己的域,例如 customer.com(。忽略 Django 中的 Web 服务器配置、SSL(这会很有趣,感谢上帝让我们加密(等问题,我怎样才能让每个域都有用户?

客户将是一种类型的用户,客户的用户将是一种不同类型的用户。每个服务的域中应使用相同的用户名。有什么预构建可以提供帮助的吗?如果没有,我如何修改 Django 中身份验证发生的方式以将其限制为当前域。

我的问题不是如何为每个域/子域提供服务,而是如何进行身份验证(注册、密码重置等等(,这意味着这不是在 django 中使用子域的副本

我已经研究了 https://github.com/tomturner/django-tenants 和 https://github.com/bernardopires/django-tenant-schemas,对于我的用例,使用 PostgreSQL 模式来分离数据是不合适的。

我会在自定义上下文处理器中使用"Host"标头来了解哪个是活动用户域,以及自定义登录处理程序(这非常简单,只需使用auth.authenticate(**kwargs)auth.login(request, user)(。

但祝你好运,听起来像是一个有趣的问题。

编辑:不是check_password而是auth.authenticate(**kwargs)auth.login(request, user)

最新更新