你好,
给定一个 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/