在 Rails 3 中处理多租户的最佳方式
我正在构建多租户应用程序。
所有数据隔离均由每个表中的 TenantID 列完成。
自动处理所有租户模型的多租户的最佳方法是什么?
示例:
Contacts.new({.....}) should automatically add :tenant => curret_user.tenant
Contacts.where({....}) should also add :tenant => curret_user.tenant
目前我在 CanCan gem 中看到类似的内容,它可以获取特定用户参数的记录。但它没有为插入和更新操作提供任何内容。或者可能是我不明白该怎么做。
问候, 阿列克谢·扎哈罗夫。
I'm building multi-tenant application.
All data isolation is done by TenantID column in each table.
What is the best way to automatically handle multi-tenancy for all tenant models.
Example:
Contacts.new({.....}) should automatically add :tenant => curret_user.tenant
Contacts.where({....}) should also add :tenant => curret_user.tenant
Currently I see something like this in CanCan gem which that can fetch records for specific user parameters. But it is not providing anything for insert and update operation. Or may be I doesn't understand how to do it.
Regards,
Alexey Zakharov.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您将通过租户对象处理所有集合,则这是可能的。
这是使用 Mongoid 的示例:
It is possible if you will work with all collections through tenant object.
Here is sample using Mongoid:
我建议您查看多租户红宝石宝石。确保执行的所有查询都尊重当前租户变得很简单。
http://blog.codecrate.com/2011 /03/multitenant-locking-down-your-app-and.html
例如:
I'd recommend checking out the multitenant ruby gem. It makes it trivial to ensure that all queries performed respect the current tenant.
http://blog.codecrate.com/2011/03/multitenant-locking-down-your-app-and.html
ex:
我使用充当租户 gem 进行多租户。这是非常好的宝石并且非常容易使用。这是这个 gem 的文档 充当租户
I Used Act As Tenant gem for multitenancy . It's pretty good gem and very easy to use. Here is a documentation of this gem Act As Tenant