ruby-on-rails - IndexTank 如何处理权限

标签 ruby-on-rails ruby-on-rails-3 search heroku indextank

你好,
给定一个 Indextank 索引,如下所示:
类线程 < ActiveRecord::Base
has_many : 权限
包括油轮

  tankit 'rails_3_demo' do
    indexes :content
  end

  after_save :update_tank_indexes
  after_destroy :delete_tank_indexes

end

该索引存在于我的 Thread 模型中。问题是线程有权限。目前,如果我允许用​​户搜索索引,他们将搜索所有用户的线程。
什么是处理权限的智能方法,因此我的用户只能跨用户有权访问的线程进行搜索。
谢谢**

架构:
USER (id)
PROJECT (id)
PERMISSION (user_id, project_id)
Thread (project_id)

只要用户有一个项目的权限记录,他们就可以查看该项目的所有线程。

最佳答案

一种方法是索引权限并将“AND权限:[值]”附加到您的查询中,其中值是与用户匹配的权限。这样,用户将只能看到具有正确权限的结果。

为了向您提供更多详细信息,我需要知道您的权限方案,但例如,您索引的权限变量可能是一个字符串,其中包含诸如“root joe bob jim”之类的词,表示只有这些用户才能访问的线程。

关于ruby-on-rails - IndexTank 如何处理权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6083106/

相关文章:

ruby-on-rails - Rails 使用嵌套资源呈现错误的 URL

ruby-on-rails - ruby on rails 如何在没有布局和其他头部字段的情况下呈现页面

ruby-on-rails - Rbenv 在 Capistranos `cap deploy:cold` 后停止工作 - RailsCast 第 335 集失败

ruby-on-rails - Rails View Helper 是如何工作的

Java - JCheckBox 针对列表进行过滤

java - 使用java搜索并打印文本文件

ruby-on-rails - 开源 Web 框架 : Security

ruby-on-rails - rails : Get "gem css_views" working for dynamic CSS

Ruby 哈希火箭 vs 1.9 语法

java - 在 Lucene (java) 中计算所有结果的最快方法