IndexTank如何处理权限

The*_*xit 4 search ruby-on-rails heroku ruby-on-rails-3 indextank

他**llo,给定一个Indextank索引,如下所示:class Threads <ActiveRecord :: Base has_many:permissions
包括Tanker

  tankit 'rails_3_demo' do
    indexes :content
  end

  after_save :update_tank_indexes
  after_destroy :delete_tank_indexes

end
Run Code Online (Sandbox Code Playgroud)

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

架构:

USER (id)
PROJECT (id)
PERMISSION (user_id, project_id)
Thread (project_id)
Run Code Online (Sandbox Code Playgroud)

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

Die*_*sch 5

一种方法是同时索引权限并在查询中附加"AND permissions:[value]",其中value是与用户匹配的权限.这样,用户只能看到具有正确权限的结果.

为了向您提供更多详细信息,我需要知道您的权限方案,但是例如您索引的权限变量可以是一个字符串,其中包含"root joe bob jim"等字符,只有那些用户才能访问.