如何在Django中按域名分配用户?

时间:2018-10-17 14:24:07

标签: django

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

客户将是一种类型的用户,而客户的用户将是另一种类型。在每个服务域中都应使用相同的用户名。有什么可以帮助的预建的吗?如果没有,我该如何修改auth在Django中的发生方式,以将其限制为当前域。

我的问题不是如何为每个域/子域提供服务,而是如何进行身份验证(注册,密码重置等),这不是Using subdomains in django

的重复项

我研究了https://github.com/tomturner/django-tenantshttps://github.com/bernardopires/django-tenant-schemas,在我的用例中,使用PostgreSQL模式分隔数据是不合适的。

1 个答案:

答案 0 :(得分:0)

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

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

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