【问题标题】:IndexTank how to handle permissionsIndexTank 如何处理权限
【发布时间】:2011-08-30 07:10:48
【问题描述】:

你**你好, 给定这样的 Indextank 索引: 类线程 包括油轮

  tankit 'rails_3_demo' do
    indexes :content
  end

  after_save :update_tank_indexes
  after_destroy :delete_tank_indexes

end

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

架构:

USER (id)
PROJECT (id)
PERMISSION (user_id, project_id)
Thread (project_id)

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

【问题讨论】:

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


    【解决方案1】:

    执行此操作的一种方法是同时索引权限并将“AND 权限:[value]”附加到您的查询中,其中 value 是与用户匹配的权限。这样,用户只会看到具有正确权限的结果。

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

    【讨论】:

    • Diego,听起来很吸引人,但我不确定我是否理解如何实现它。您是否正在考虑另外创建一个全新的索引或将权限作为值添加到当前索引?轮流我的模式。我已经更新了上面的问题。想法?
    • 您不需要另一个索引。我要做的就是拥有这个:每个线程都需要一个字段,其中包含允许查看它的所有用户的 id。您希望每次权限更改时更新该字段,以便重新索引特定线程。为了使该字段可搜索,它需要是一个字符串,其中 id 由空格分隔。我必须在这里简短,但请发送电子邮件至 indextank com 的支持人员,我们会详细说明!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-07
    • 2020-12-15
    • 2011-05-18
    • 2019-09-23
    • 2016-12-23
    相关资源
    最近更新 更多