基于profile和目标对象的Ruby授权

基于profile和目标对象的Ruby授权,ruby,rubygems,authorization,Ruby,Rubygems,Authorization,我正在从事一个项目,该项目涉及创建具有以下特定特征的用户: 我的公司 我的业务范围(公司内部) 我的部门(业务范围内) 此应用程序的目的是管理和跟踪交易 每个用户都可以创建交易,这些交易会自动链接到他们的公司、业务线和部门 不属于同一公司、业务线和部门的所有用户都无法访问该交易。换句话说,用户只能访问与用户具有相同特征的交易 有没有可能用传统的ruby gems构建如此复杂的授权矩阵?您可以通过查询找到用户可以访问的所有项目。假设用户只有一个公司、部门和业务线: class User <

我正在从事一个项目,该项目涉及创建具有以下特定特征的用户:

  • 我的公司
  • 我的业务范围(公司内部)
  • 我的部门(业务范围内)
此应用程序的目的是管理和跟踪交易

每个用户都可以创建交易,这些交易会自动链接到他们的公司、业务线和部门

不属于同一公司、业务线和部门的所有用户都无法访问该交易。换句话说,用户只能访问与用户具有相同特征的交易


有没有可能用传统的ruby gems构建如此复杂的授权矩阵?

您可以通过查询找到用户可以访问的所有项目。假设用户只有一个公司、部门和业务线:

class User < ActiveRecord::Base
  has_one :company
  has_one :department
  has_one :business_line

  def deals
     Deal.where(company_id: company_id, 
          business_line_id: business_line_id,
             department_id: department_id
  end
end
class用户
您可以通过查询查找用户可以访问的所有项目。假设用户只有一个公司、部门和业务线:

class User < ActiveRecord::Base
  has_one :company
  has_one :department
  has_one :business_line

  def deals
     Deal.where(company_id: company_id, 
          business_line_id: business_line_id,
             department_id: department_id
  end
end
class用户