django SAAS客户端身份验证

时间:2014-06-16 02:32:01

标签: django tastypie django-rest-framework authentication

我正在Django 1.6中设计一个SAAS,多租户项目。由于机密数据,该项目将为每个客户端提供单独的模式(PostgreSQL)或数据库。

我的问题是关于如何验证用户登录并确保它确实属于预期客户的具体问题。基本上,我想要避免的是来自客户A的用户/员工A,感到不安或想要制造麻烦,从B公司(这是竞争对手)向用户/员工B提供,现在员工B登录并且能够查看公司A的数据,这是不应该发生的。

在阅读了几篇文章后,this讨论了使用django-rest-framework& tastypie作为选择。

在我深入了解他们的文档并对其进行评估之前,是否有很好的选择来实现我的目标?如果还有其他选择,请提供。

感谢。

1 个答案:

答案 0 :(得分:0)

似乎django-tenant-schemas可能会为你完成这项工作。

包会自动为您的租户(客户A,客户B,...)创建模式,每个租户的模式都有自己的auth_user表(因为django.contrib.auth列在TENANT_APPS中})。因此,员工B无法登录客户的A站点(通常是customerA.yoursite.com)并查看他们的数据(当然,除非员工A和B具有相同的用户名/密码)。