ruby-on-rails - 将数据保护到 Rails 中的特定域

标签 ruby-on-rails

我们有一个 Multi-Tenancy 的应用程序(很多用户都访问他们自己的数据,类似于 Basecamp)。

问题是,在Rails中保证用户只能看到自己账户数据的最简单易行的方法是什么?是否需要检查每个查询?

最佳答案

实现这一目标的方法:

  • 使用子域,因此它的 customer.domain.com ....然后在您的应用程序 Controller 中,有一个前置过滤器,它将找到子域并设置一个@customer 变量
  • 总是从客户那里获取数据,所以你说 @customer.quotes.find(params[:id]) ... 而不是 Quote.find(params[:id])

所以,是的,在 Multi-Tenancy 数据库中,您需要检查每个查询。

关于ruby-on-rails - 将数据保护到 Rails 中的特定域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4247085/

相关文章:

ruby-on-rails - Rails 5.2.3/Heroku - 为什么不能在开发模式下使用 squlite3 在生产模式下运行 postgres?

ruby-on-rails - 模型可以访问 Rails 中的文本文件吗?

ruby-on-rails - 如何在 Rails 中以相同的形式访问和提交相关的多态模型?

ruby-on-rails - 删除带有mongoid的嵌入式文档

sql - Btrim 函数在 PostgreSQL 中无法正常工作

ruby-on-rails - 设计软电子邮件确认

sql - 这种订单情况应该如何设置数据库表

ruby-on-rails - Rails - 多索引键关联

javascript - Bootstrap 模态事件未在 Rails 4 上触发

ruby-on-rails - 与同一个表栏杆的多个关联