通过rails会话参数过滤MySQL数据

时间:2013-08-07 15:52:58

标签: mysql ruby-on-rails ruby row-level-security

我有一个由MySQL支持的rails应用程序。它使用行级权限模型。即我在一个名为projects的表上有一些列(permission1,permission2,permission3),我需要检查具有他们可以在会话中访问的权限的详细信息的用户是否可以看到从项目表中查询的数据并过滤它如果他们不这样做。

我可能会根据具体情况这样做,但我正在寻找通用的东西,以便(i)它适用于其他表我可能会在以后添加权限模型和(ii)所以如果我运行一个Projects.all在某个地方忘记添加适当的where子句我不会意外地向无权查看数据的用户显示数据。

以前我在Java webapp中使用过修改过的JDBC驱动程序,但我不知道rails + MySQL的等效解决方案应该是什么。

1 个答案:

答案 0 :(得分:0)

刚刚发现了default_scope,在每个模型的基础上应该足够了。那已经够了。