django - 如何在 Django 中拥有每个域名的用户?
问题描述
我正在使用 Django 构建一个应用程序,其中每个客户都有自己的域名(我们域中的子域,例如 customer.example.com 或他们自己的域,例如 customer.com)。忽略 Web 服务器配置、SSL(这会很有趣,感谢上帝让我们加密)等问题,在 Django 中,我怎样才能在每个域中拥有用户?
客户将是一种类型的用户,而客户的用户将是不同的类型。相同的用户名应该可以在每个服务域中使用。有什么可以提供帮助的预建项目吗?如果没有,我如何修改 Django 中的身份验证方式以将其限制为当前域。
我的问题不是如何为每个域/子域提供服务,而是如何进行身份验证(注册、密码重置等等),这意味着这不是在 django 中使用子域的重复
我已经研究了https://github.com/tomturner/django-tenants和https://github.com/bernardopires/django-tenant-schemas并且对于我的用例,使用 PostgreSQL 模式来分离数据是不合适的。
解决方案
我会在自定义上下文处理器中使用“主机”标头来了解哪个是活动用户域,以及自定义登录处理程序(非常简单,只需使用auth.authenticate(**kwargs)
and auth.login(request, user)
)。
但祝你好运,听起来是个有趣的问题。
编辑:不是check_password
但auth.authenticate(**kwargs)
和auth.login(request, user)
推荐阅读
- flutter - Flutter,如何将开关盒用于底部导航栏?
- stripe-payments - 不允许用户在 Stripe Checkout Session 上更改电子邮件
- python - 连接类型不适用于覆盆子
- javascript - HTML画布中的外线渐变
- javascript - 如何在组件内的 react.js 中创建搜索
- elixir - 映射键存在且值大于0
- windows - 如何在 Windows 中使用命令提示符打印包含 esc/pos 命令的 .txt 文件?
- javascript - React Material UI:Appbar 给出了 TypeError: Cannot read properties of undefined (reading '100')
- python - 为每个视频生成单独的 H5 文件
- javascript - 在控制台和事件监听器中执行时函数输出不同